利用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 相关文章推荐
写一个用户在线显示的程序
Oct 09 PHP
Banner程序
Oct 09 PHP
在mysql数据库原有字段后增加新内容
Nov 26 PHP
file_get_contents获取不到网页内容的解决方法
Mar 07 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
Jun 19 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 PHP
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
php截取视频指定帧为图片
May 16 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
Nov 29 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
Oct 16 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
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
Javascript中string转date示例代码
2013/11/01 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
JS实现的tab切换并显示相应内容模块功能示例
2019/08/03 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
python list元素为tuple时的排序方法
2018/04/18 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
python删除某个目录文件夹的方法
2020/05/26 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
2020/11/18 Python
如何编写python的daemon程序
2021/01/07 Python
中国央视网签名寄语
2014/01/18 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
婚庆司仪开场白
2015/05/29 职场文书
初级职称评定工作总结
2015/08/13 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
解析目标检测之IoU
2021/06/26 Python
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫