php excel q - yaokun123/php-wiki GitHub Wiki

PHPExcel相关问题

一、使用PHPExcel导出的文件用最新版office无法打开

1、原因

发送header()头之前,不知道又啥特殊字符输出(可能是BOM,也可能是其他),导致php报错!然后将报错内容输出到了Excel

极大可能是:文件BOM头问题,生成的Excel文件头部添加了BOM头!

2、解决方案

方案一:
在输出Excel前,缓冲区中处理BOM头(可能是其他字符):在header()函数调用之前,清除之前的错误输出!
ob_end_clean();
ob_start();

方案二:
有人第一步过后,问题未解决。通过ob_get_contents()查看导出内容,并未发现BOM头。
再就是应用框架了,返回的静态页输出成了excel文件。
加上 exit($contents); 后问题解决。

摘自:https://www.cnblogs.com/imustun/p/9156851.html

二、使用PHPExcel导出文件超过26列的问题

将列的数字序号转成字母使用,代码如下:

// 从0,1,2,3,..开始,相应返回返回 A,B,C,...Z,AA,AB,...
PHPExcel_Cell::stringFromColumnIndex($i); 

将列的字母转成数字序号使用,代码如下

PHPExcel_Cell::columnIndexFromString('AA');