利用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 相关文章推荐
介绍几个array库的新函数 php
Dec 29 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
PHP扩展Memcache分布式部署方案
Dec 06 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
Laravel 队列使用的实现
Jan 08 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
PHP实现一个限制实例化次数的类示例
Sep 16 PHP
PHP基于ip2long实现IP转换整形
Dec 11 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
php4的彩蛋
2006/10/09 PHP
flash用php连接数据库的代码
2011/04/21 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
2017/08/22 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
jQuery分组选择器简单用法示例
2019/04/04 jQuery
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
python函数返回多个值的示例方法
2013/12/04 Python
python使用Berkeley DB数据库实例
2014/09/26 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
创立科技Java面试题
2015/11/29 面试题
小学教育毕业生自荐信
2013/11/18 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书