利用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 相关文章推荐
php下正则来匹配dede模板标签的代码
Aug 21 PHP
php实现通用的从数据库表读取数据到数组的函数实例
Mar 21 PHP
ThinkPHP中数据操作案例分析
Sep 27 PHP
php如何实现只替换一次或N次
Oct 29 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
PHP+iframe图片上传实现即时刷新效果
Nov 18 PHP
php实现xml转换数组的方法示例
Feb 03 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
详解PHP中的外观模式facade pattern
Feb 05 PHP
laravel异步监控定时调度器实例详解
Jun 21 PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 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 array_walk() 数组函数
2011/07/12 PHP
浅谈apache和nginx的rewrite的区别
2013/02/22 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
2015/08/11 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
javascript实现获取浏览器版本、浏览器类型
2015/12/02 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
深入理解node.js之path模块
2017/05/03 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
Python自动化开发学习之三级菜单制作
2017/07/14 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
Python字典及字典基本操作方法详解
2018/01/30 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
医学类个人求职信范文
2014/02/05 职场文书
欢送退休感言
2014/02/08 职场文书
2014高考励志标语
2014/06/05 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
经理岗位职责范本
2015/04/15 职场文书
国博复兴之路观后感
2015/06/02 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
golang elasticsearch Client的使用详解
2021/05/05 Golang
详解OpenCV曝光融合
2022/04/29 Python