phpexcel 相关知识
1.phpexcel设置所有单元格的默认对齐方式
$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
2.phpexcel 设置excel单元格宽高
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20); #设置单元格行高 $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20); #设置单元格宽度
4.导出excel文件后打不开,提示“文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配”
来自:https://www.cnblogs.com/imustun/p/9156851.html
原因:
1.发送header()头之前,不知道又啥特殊字符输出(可能是BOM,也可能是其他),导致php报错!然后将报错内容输出到了Excel
2.极大可能是:文件BOM头问题,生成的Excel文件头部添加了BOM头!
解决方案:
1.在输出Excel前,缓冲区中处理BOM头(可能是其他字符)
ob_end_clean();
ob_start();
在header()函数调用之前,清楚之前的错误输出!
参考:https://blog.csdn.net/liu857279611/article/details/51534450
- ob_get_contents() --- 返回输出缓冲区的内容
- ob_flush() --- 冲刷出(送出)输出缓冲区中的内容
- ob_clean() --- 清空(擦掉)输出缓冲区
- ob_end_flush() --- 冲刷出(送出)输出缓冲区内容并关闭缓冲
- ob_end_clean() --- 清空(擦除)缓冲区并关闭输出缓冲
- flush() --- 刷新输出缓冲
通常是ob_flush();flush()同时一起使用
使用ob_start()把输出那同输出到缓冲区,而不是到浏览器。然后用ob_get_contents得到缓冲区的数据。ob_start()在服务器打开一个缓冲区来保存所有的输出。所以在任何时候使用echo ,输出都将被加入缓冲区中,直到程序运行结束或者使用ob_flush()来结束。然后在服务器中缓冲区的内容才会发送到浏览器,由浏览器来解析显示。
函数ob_end_clean 会清除缓冲区的内容,并将缓冲区关闭,但不会输出内容。
此时得用一个函数ob_get_contents()在ob_end_clean()前面来获得缓冲区的内容。
这样的话, 能将在执行ob_end_clean()前把内容保存到一个变量中,然后在ob_end_clean()后面对这个变量做操作。
2.有人第一步过后,问题未解决。通过ob_get_contents()查看导出内容,并未发现BOM头。
再就是应用了框架,返回的静态页输出成了excel文件。
试了以上方法后,还是没有问题,最后查看导出的文件内容,意识到是跳转到静态页导致的。
加上 exit($contents); 后问题解决。
5.php7环境下使用PHPExcel导出表格报错:网页可能暂时无法连接,或者它已永久性地移动到了新网址
解决方法:
把 \PHPExcel\Calculation\Functions.php 第574行的break注释掉
6.PHPExcel报错:'break' not in the 'loop' or 'switch' context
ThinkPHP\Library\Vendor\phpexcel\PHPExcel\Calculation LINE: 581
直接删除581行的 'break'即可!
7.PHPExcel exception: “Could not close zip file … ”报错
报错原因:
1.确认保存文件的目录是否存在,有没有写错。
2.权限问题。缺少对于保存的目录的写权限。
3.文件被其他应用程序占用。
4.保存的文件名如果有中文的话注意编码问题。
5.磁盘容量满了。
6.如果保存为xlsx的格式无法成功的话,可以尝试保存成xls格式。
原文地址:https://www.cnblogs.com/mianbaoshu/p/15392193.html
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Spring的学习与实战(续)
- mycat数据库集群系列之数据库多实例安装
- 自已动手作图搞清楚AVL树
- 自己动手作图深入理解二叉树、满二叉树及完全二叉树
- AsyncTask记录
- spring cloud gateway跨域冲突功能的开发
- Spring同时集成JPA与Mybatis
- Qt音视频开发10-ffmpeg控制播放
- 拿好了!Linux 运维必备的 13 款实用工具!
- 自制CA证书设置ssl证书
- MySQL数据迁移TcaplusDB实践
- TKE之初识容器探测器
- 2.3.2 JDK动态代理 -《SSM深入解析与项目实战》
- mac设备安装nginx注意事项
- 《研发运营安全白皮书(2020年)》深度解读:全生命周期安全体系将是未来趋势