利用php下载xls文件(自己动手写的)


Posted in PHP onApril 18, 2014

昨天看ECSHOP源码的时候,碰到了一点自己没有学过的只是--如何利用php实现下载xls文件。根据它的源码,我动手实现了一下,成功实现了这个效果。

源码:

<?php 
/* 
*@Description:下载xls表 
* 
* 
*/ 
function downloadXls($filename=''){ 
$filename = !empty($filename) ? $filename : die('nothing'); //header 的作用是 新建一个被下载的test.xls 
header("Content-Type: application/vnd.ms-excel; charset=utf8"); 
header("Content-Disposition: attachment; filename=$filename"); 
//这里需要被输出的内容直接输出到test.xls文件中 
echo 'This is the test!'; 
exit; 
} 
$fileName = 'test.xls'; 
downloadXls($fileName); 
?>

效果:

利用php下载xls文件(自己动手写的) 

注意:如果输出的是中文信息的话,要注意字符编码的格式转换!

但如果我想下载的是服务器中保存的xls文件呢?

经过查看php手册:发现很简单就可以实现这个功能了,使用到了一个 readfile函数 。代码如下:

<?php 
/* 
*@Description:下载xls表 
* 
* 
*/ 
function downloadXls($filename=''){ 
$filename = !empty($filename) ? $filename : die('nothing'); //header 的作用是 新建一个被下载的test.xls 
header("Content-Type: application/vnd.ms-excel; charset=utf8"); 
header("Content-Disposition: attachment; filename=$filename"); 
//这里是需要被输出的文件 
readfile($filename); 
} 
$fileName = 'test.xls'; 
downloadXls($fileName); 
?>

效果:

利用php下载xls文件(自己动手写的) 

再拓展一下:如果我想下载的是一个txt文件呢,pdf文件呢?

实现的方法就是修改header 输出中的Content-Type中的内容!

有什么不多的地方,请大神指出!

PHP 相关文章推荐
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
php正则匹配html中带class的div并选取其中内容的方法
Jan 13 PHP
php实现通过ftp上传文件
Jun 19 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
PHP之将POST数据转化为字符串的实现代码
Nov 03 PHP
PHP 表单提交及处理表单数据详解及实例
Dec 27 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
Apr 23 PHP
Thinkphp5.0框架视图view的模板布局用法分析
Oct 12 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 #PHP
从PHP的源码中深入了解stdClass类
Apr 18 #PHP
理解PHP中的stdClass类
Apr 18 #PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
Apr 17 #PHP
php实现的漂亮分页方法
Apr 17 #PHP
codeigniter中测试通过的分页类示例
Apr 17 #PHP
php生成静态页面的简单示例
Apr 17 #PHP
You might like
利用PHP实现与ASP Banner组件相似的类
2006/10/09 PHP
使用 php4 加速 web 传输
2006/10/09 PHP
PHP实现的简单缓存类
2015/07/29 PHP
PHP培训要多少钱
2017/06/06 PHP
js 字符串转化成数字的代码
2011/06/29 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
2015/03/13 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
jQuery三级下拉列表导航菜单代码分享
2020/04/15 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
ES6 中可以提升幸福度的小功能
2018/08/06 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
python 调用有道api接口的方法
2019/01/03 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
毕业自我鉴定范文
2013/11/06 职场文书
医院2014国庆节活动策划方案
2014/09/21 职场文书
地方课程教学计划
2015/01/19 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python