这些天在使用PHPExcel导出数据时,5000条数据竟然挂了。后来跟同事聊聊,有些明悟,PHPExcel做了很多处理,我在这里理解为渲染,就会暂用过多的空间,‘膨胀’的空间导致内存暂用过大,就挂了。其实只要我们只是简单的导出操作,没有必要使用PHPExcel。

就是将html的表格转换excel的表格;此种方法适应于设置各种单元格的显示,合并,只需设置html的table,设置css就能导出各式各样的excel模板

实例如下:
导出一个带表头,设置字体大小,居中,排版适中;

<?php
/*
*处理Excel导出
*@param $datas array 设置表格数据
*@param $titlename string 设置head
*@param $title string 设置表头
*/
function excelData($datas,$title,$filename){$str = "<html xmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\nxmlns:x=\"urn:schemas-microsoft-com:office:excel\"\r\nxmlns=\"http://www.w3.org/TR/REC-html40\">\r\n<head>\r\n<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>";$str .="<style>tr,td,th{text-align: center;height: 22px;line-height: 22px;}</style>";$str .="<table border=1>";$str .= $title;foreach ($datas  as $key=> $rt ){$str .= "<tr>";foreach ( $rt as $k => $v ){$str .= "<td>{$v}</td>";}$str .= "</tr>\n";}$str .= "</table></body></html>";header( "Content-Type: application/vnd.ms-excel; name='excel'" );header( "Content-type: application/octet-stream" );header( "Content-Disposition: attachment; filename=".$filename );header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );header( "Pragma: no-cache" );header( "Expires: 0" );exit( $str );
}
//todo:导出数据(自行设置)
$dataResult = array(['腾讯','百度','阿里巴巴'],['腾讯2','百度2','阿里巴巴2']
);
//表头
$headList = ['合作单位1','合作单位2','合作单位3',
];
array_unshift($dataResult,$headList);
$headTitle = "合作单位 优惠券赠送记录";
$title = "合作单位记录";
$headtitle= "<tr style='height:50px;border-style:none;'><th border=\"0\" style='height:60px;width:270px;font-size:22px;' colspan='".count($headList)."' >{$headTitle}</th></tr>";
$filename = $title.".xls";
excelData($dataResult,$headtitle,$filename);

转载于:https://www.cnblogs.com/-mrl/p/7686640.html

php 使用table方式导出excel文件相关推荐

  1. POST方式导出Excel文件

    1.方法一: 一般情况下,我们通过ajax获取数据都是采用get方式获取,但如果ajax的请求url过长时,get方式由于浏览器对url长度不同会导致无法正常获取数据,尤其是IE. 这时候,我们需要通 ...

  2. 导出excel文件数字会自动变科学计数法的解决方式

    将数据导出excel文件变成科学计数法问题:分析:用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学技术法的表现形式.其实这个问题跟用什么语言导出 ...

  3. springboot中使用poi导出excel文件(亲测实现了第一个功能)

    1.POI简介 Jakarta POI 是一套用于访问微软格式文档的Java API. 组件HWPF用于操作Word的; 组件HSSF用于操作Excel格式文件. 2.常用组件 HSSFWorkboo ...

  4. 如何使用JavaScript实现纯前端读取和导出excel文件(转)

    转自小茗同学博客:https://www.cnblogs.com/liuxianan/p/js-excel.html js-xlsx 介绍 由SheetJS出品的js-xlsx是一款非常方便的只需要纯 ...

  5. h5页面如何预览excel文件_如何使用JavaScript实现前端导入和导出excel文件?(H5编辑器实战复盘)...

    前言 最近笔者终于把H5-Dooring的后台管理系统初步搭建完成, 有了初步的数据采集和数据分析能力, 接下来我们就复盘一下其中涉及的几个知识点,并一一阐述其在Dooring H5可视化编辑器中的解 ...

  6. 如何使用JavaScript实现前端导入和导出excel文件(H5编辑器实战复盘)

    前言 最近笔者终于把H5-Dooring的后台管理系统初步搭建完成, 有了初步的数据采集和数据分析能力, 接下来我们就复盘一下其中涉及的几个知识点,并一一阐述其在Dooring H5可视化编辑器中的解 ...

  7. 如何使用JavaScript实现纯前端读取和导出excel文件

    js-xlsx 介绍 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls.xlsx.ods(一种OpenOffice专 ...

  8. EOS中如何实现导入导出excel文件

    阅读原文 导入导出excel文件 场景描述 将数据库表中的数据按照定义的EXCEL模板进行导出,下载到本地: 将EXCEL中的数据导入数据库相应的表中. 场景目标 通过本场景,解决EXCEL的导入导出 ...

  9. 导入导出excel文件

    场景描述 将数据库表中的数据按照定义的EXCEL模板进行导出,下载到本地: 将EXCEL中的数据导入数据库相应的表中. 场景目标 通过本场景,解决EXCEL的导入导出问题,供项目中学习使用. 页面效果 ...

最新文章

  1. 为什么 GROUP BY 之后不能直接引用原表中的列?
  2. 未来:万物皆互联、全民皆社交,人人都是马化腾
  3. 充电桩服务器协议,充电桩与云服务器通信协议
  4. mybatis 多租户saas_彻底理解微商城多租户Saas架构设计
  5. Apache kafka原理与特性(0.8V)
  6. JSP页面之前传输 中文乱码
  7. C#4.0 可选参数和命名参数
  8. WCF 4.0路由服务Routing Service
  9. k210 hc-05 智慧课堂 人脸识别签到
  10. 【FPGA】DS18B20温度显示
  11. css设置字体颜色怎么设,css里面怎么设置字体颜色?
  12. 德克萨斯长角牛 --最短路径
  13. android pie新功能,Android Pie:3个隐藏功能 | MOS86
  14. 【数字图像处理】空间滤波
  15. 触摸控件与显示控件介绍
  16. Java课程设计:考勤管理系统(附源码+调试)
  17. 怎么制作手机网站?如何建一个wap手机网站?所谓手机网站指手机能访问的网站,现在手机浏览器对html...
  18. 阿德莱德大学语言班成绩为C,阿德莱德大学语言课程要读多久?先看看你的雅思成绩……...
  19. 游戏陪玩app源码开发中,摄像头的调用及视频处理
  20. 脑机接口科普0012——脑机接口的灭亡

热门文章

  1. Mysql(12)——inner join的用法
  2. 鸿蒙os 2.0跑分,预装鸿蒙OS 2.0!华为MatePad Pro2跑分曝光:麒麟9000、8GB内存
  3. 拷贝构造函数编程实验
  4. facenet 中心损失函数(center loss)详解(代码分析)含tf.gather() 和 tf.scatter_sub()函数
  5. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation by 解决方案
  6. c++primer 5th习题12.25答案
  7. 求int在二进制存储时1的个数(C++)
  8. 进程间通信——消息队列
  9. 编写CGI小结(Java)
  10. 关联数组不能转化为JSON字符串