1.将此文件复制一份并重命名为.zip的文件。
然后打开此文件,再打开xl的文件夹。
会看到有一个文件名为sharedStrings.xml的文件。
将此文件sharedStrings.xml,拖到桌面上。
2.双击打开此文件,拉动滚动条到最下方,有下图提示,说明表中的<si></si>有异常,一般是少了<si>(本人的个人经验)偶尔是缺少<t>。
3.使用EmEditor打开sharedStrings.xml。
4.会看到如下图,红色标注说明<si></si>是成对出现的,少一个就会出错,他们是一个整体。
5.搜索<si>,有多少个,有161个。
6.搜索</si>,有多少个,有162个。
7.<si>,少一个,在下图位置(这是从下由上找出来的),不要忘记<si></si>是成对出现的,选中一个,这一个整体显示灰色。
8.将缺失的<si>添加进去。
9.将更改过的sharedStrings.xml,替换原来的sharedStrings.xml。
10.将下图此文件重命名成为原来.xlsx格式。
这个报错不是PHPExcel报的错,而是php本身报的,原因大概就是因为你读取的文件超过了php单次请求运算占有的内存值的最大值。所以光设置PHPExcel是不行的解决办法有三个:
1,修改 php.ini 中 memory_limit的值,重启apache服务
2,在你读取文件的页面头部加入 ini_set(”memory_limit”,”100M”)(-1为不限)
3,修改.htaccess 文档,在文档中加上一句:php_value memory_limit 16M(或更大)
虽然有Excel *** 作类,不建议使用。php *** 作excel本来就很不地道,表格复杂点就出错,特别是在linux系统上就更麻烦了。CSV是通用格式,你可以用excel另存为csv格式,再交给php处理。php有专门的fgetcsv()来读取csv中的数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)