PHP生成excel表格文件并下载
本文引自网络,仅供自己学习之用。
利用php导出excel我们大多会直接生成.xls文件,这种方便快捷。
- function createtable($list,$filename){
- header("Content-type:application/vnd.ms-excel");
- header("Content-Disposition:filename=".$filename.".xls");
- $strexport="编号\t姓名\t性别\t年龄\r";
- foreach ($list as $row){
- $strexport.=$row['id']."\t";
- $strexport.=$row['username']."\t";
- $strexport.=$row['sex']."\t";
- $strexport.=$row['age']."\r";
- }
- $strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport);
- exit($strexport);
- }
基于这个我们可以将方法封装一下:
- /**
- * 创建(导出)Excel数据表格
- * @param array $list 要导出的数组格式的数据
- * @param string $filename 导出的Excel表格数据表的文件名
- * @param array $header Excel表格的表头
- * @param array $index $list数组中与Excel表格表头$header中每个项目对应的字段的名字(key值)
- * 比如: $header = array('编号','姓名','性别','年龄');
- * $index = array('id','username','sex','age');
- * $list = array(array('id'=>1,'username'=>'YQJ','sex'=>'男','age'=>24));
- * @return [array] [数组]
- */
- protected function createtable($list,$filename,$header=array(),$index = array()){
- header("Content-type:application/vnd.ms-excel");
- header("Content-Disposition:filename=".$filename.".xls");
- $teble_header = implode("\t",$header);
- $strexport = $teble_header."\r";
- foreach ($list as $row){
- foreach($index as $val){
- $strexport.=$row[$val]."\t";
- }
- $strexport.="\r";
- }
- $strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport);
- exit($strexport);
- }
方法调用:
- $filename = '提现记录'.date('YmdHis');
- $header = array('会员','编号','联系电话','开户名','开户行','申请金额','手续费','实际金额','申请时间');
- $index = array('username','vipnum','mobile','checkname','bank','money','handling_charge','real_money','applytime');
- $this->createtable($cash,$filename,$header,$index);
运行就可以得到表格:
这种方式生成Excel文件,生成速度很快,但是有缺点是:
1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽度,高度,边框颜色...)不能自定义;
2.生成的文件虽然可以打开,但是兼容性很差,每次打开,都会报一个警告:
解决这个问题也不难,具体参见:使用PHPExcel实现Excel文件的导入和导出
PHP生成excel表格文件并下载的更多相关文章
- Java操作Jxl实现导出数据生成Excel表格数据文件
实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...
- php中读写excel表格文件示例。
测试环境:php5.6.24.这块没啥兼容问题. 需要更多栗子,请看PHPExcel的examples.还是蛮强大的. 读取excel文件. 第一步.下载开源的PHPExcel的类库文件,官方网站是h ...
- H5纯前端生成Excel表格
H5纯前端生成Excel表格方法如下: <!DOCTYPE html> <html> <head> <title></title> < ...
- Jmeter—生成excel结果文件
相信很多用jmeter进行接口测试的童鞋都会有这样的苦恼:同时执行上百条测试案例,如何能轻松加愉快地检查案例输出结果?仅仅靠jmeter的断言.debug sampler.察看结果树等是无法满足我们要 ...
- pyhton读取 excel表格文件
2019的第一天,忘记昨日之事,迎接新的明天. excel表格文件办公中常用,如通过Python操作这些数据需导入并有序读取这些数据 特随笔,供以后查阅 代码如下: import xlrd # fil ...
- JXL生成Excel,并提供下载(2:提供下载)
实现效果: 项目中使用JXL生成Excel,使生成的Excel可以让用户下载,如下图 一.生成Excel 二.提供下载 实现思路: 1.页面使用form表单提交方式(Ajax提交方式,我这里不行) 2 ...
- python读取Excel表格文件
python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1.安装Excel读取数据的库-----xlrd 直接pip install xlrd安 ...
- 详解python操作生成excel表格,并且填充数据
最近在研究python操作excel表格的问题,首先读取excel表格觉得平时用的多,不怎么有难度,就是pyhon生成excel表格的时候,平时不怎么用,所以重点研究了一下,现总结如下: 1.首先用到 ...
- 简单Excel表格上传下载,POI
一.废话 Excel表格是office软件中的一员,几乎是使用次数最多的办公软件.所以在java进行企业级应用开发的时候经常会用到对应的上传下载便利办公. 目前,比较常用的实现Java导入.导出Exc ...
随机推荐
- 7.C#知识点:抽象类和接口浅谈
知识点目录==========>传送门 首先介绍什么是抽象类? 抽象类用关键字abstract修饰的类就是叫抽象类,抽象类天生的作用就是被继承的,所以不能实例化,只能被继承.而且 abstrac ...
- 关于__int64的使用!
关于__int64的使用! 类型 long long __int64 intmax_t 格式 %lld %I64d %I64d 在Dev C++中,三种类型均需用%I64d格式输出 ,c语言中int ...
- python学习之老男孩python全栈第九期_day009作业
1. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 答: l1 = [] def odd(li): for i in range(1,len(li),2 ...
- ThinkPHP中create()方法自动验证表单信息
自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 原理: create()方法收集表单($_POST)信息并返回,同时触发表单自动验证 ...
- JPEG/PNG/GIF图片格式简析
JPEG/PNG/GIF是Web浏览器广泛支持的3种图片格式. 1.JPEG格式最适合保存照片和其他复杂图像. 2.GIF和PNG格式最适合保存logo和其他包含单色.线条.文本的简单图形. 3.JP ...
- 【读书笔记】iOS-网络-运行循环
运行循环是由类NSRunLoop表示的,有些线程可以让操作系统唤醒睡眠的线程以管理到来的事件,而运行循环则是这些线程的基本组件.运行循环是这样一种循环,可以在一个周期内调度任务并处理到来的事件.iOS ...
- Linux 操作方法(一)
cd +地址 ->可进入地址 cd .. ->返回上级 ll ->显示当前目录下的所有文件(显示所有文件,包括隐藏,还有显示文件信息) ls ->显示当前目录下的所有文件 su ...
- drupal7创建自定义的panels布局
很简单,在主题的 *.info文件中添加一句代码: 这一句很简单,但也很重要,没有这一句,就没在panels的配置界面去显示自定义的布局 plugins[panels][layouts] = layo ...
- 上传文件Base64格式(React)
记录一下上传文件时将文件数据转为Base64的方法 通过 FileReader对象创建一个实例,然后使用 readAsDataURL方法将数据转为Base64格式 注意: 读取过程是异步的 绑定onl ...
- sql 获取批处理信息的脚本(优化器在处理批处理时所发生的优化器事件)
--获取批处理信息的脚本(优化器在处理批处理时所发生的优化器事件) SET NOCOUNT ON; DBCC FREEPROCCACHE; --清空过程缓存 GO --使用tempdb..Optsta ...