失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 谁用过PHPExcel 导出的文件报“无法读取的内容”错误

谁用过PHPExcel 导出的文件报“无法读取的内容”错误

时间:2024-01-13 00:37:06

相关推荐

谁用过PHPExcel 导出的文件报“无法读取的内容”错误

后端开发|php教程

文件,phpexcel,内容,错误,读取

后端开发-php教程

如题 ,我测试过了,如果导出的单元格数比较少,大概是150左右,就没问题,一切正常。

但导出的单元格数一旦大于150了,导出的excel文件就打不开,打开的时候报错“找到无法读取的内容”

手机uc查看网页源码,vscode百度网盘下载,ubuntu home挂载,tomcat仅允许域名访问,印尼爬虫品种,php网站搭建教程视频,天河区创新seo优化资费lzw

请问这是有什么限制吗,或者要怎样才能解决这个问题?

藏品管理系统源码,复制文件权限ubuntu,爬虫爬取词条,php技术结语,seo-lukhyunlzw

回复讨论(解决方案)

网络象棋 源码,ubuntu 吉祥物,爬虫全国所有列车,php 男女,SeO电子式lzw

虽然 excel 确有单元格数的限制,但怎么也不会是只有150这么小

你应该检查你的程序是否在执行到相关地方出现了错误

当然也可能是你可用的内存实在是太小了

在不增加可用内存的情况下,也可以采用文件缓存的方式缓解这一矛盾

程序没有问题,我点我肯定,

很简单的测试办法,首先数据内容我先全部设定为一样的值,然后只导出一行,没问题,导出二行,没问题。。。直到导出的行数够大,就报错了

如果是程序问题,倒还有帮助你排错的可能性

否则你只有自己看着办了

很大可能是你程序的问题.

1:lz可以去stackoverflow或者phpexcel官网发帖

2:lz可以贴代码让斑竹给你指点指点

跟程序没问题,我在想是不是跟php的配置有什么关系

大家帮我看看最后保存文件的代码有问题没:

header(‘Content-Type: application/vnd.ms-excel; charset=”UTF-8″‘);

header(‘Content-Disposition: attachment; filename=’.urlencode($fileName));

header(“Content-Transfer-Encoding: binary”);

header(“Cache-Control: must-revalidate, post-check=0, pre-check=0”);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’);

$objWriter->save(‘php://output’);

谁有php+phpexcel的环境帮我测试一下,测试代码如下:

<?php

require_once ‘PHPExcel.php’;

require_once ‘PHPExcel/IOFactory.php’;

$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex(0);

$objActSheet = $objPHPExcel->getActiveSheet();

for ($i=0;$i<215;$i++) {

$objActSheet->setCellValueByColumnAndRow(0,$i+1,’ok’);

}

$fileName = “文件名.xls”;

header(‘Content-Type: application/vnd.ms-excel; charset=”UTF-8″‘);

header(‘Content-Disposition: attachment; filename=’.urlencode($fileName));

header(“Content-Transfer-Encoding: binary”);

header(“Cache-Control: must-revalidate, post-check=0, pre-check=0”);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’);

$objWriter->save(‘php://output’);

exit;

?>

经过我的测试,行数改为216的时候下载下来的excel文件就有问题了,215的时候就ok

for ($i=0;$i<1215;$i++) {

$objActSheet->setCellValueByColumnAndRow(0,$i+1,’ok’);

}

使用ini_set把php的可用内存提高点?

我的导出10多万条数据都没问题

终于解决了,原来是我下载的PHPExcel有问题,重新去官网下载了1.7.8版本后覆盖本地,一切OK,哈哈,开心啊,谢谢各位,散分

其实是这样的。

如果你直接进到服务器上去打开这个文件,而不是下载,你会发现一切正常。

问题只出现在下载的文件中。

因此,真正的问题不是phpexcel的代码,而是你写的php实现文件下载部分的代码。

而这里的问题一般是:在实现下载部分的代码最后,没有return true;造成的。

如果觉得《谁用过PHPExcel 导出的文件报“无法读取的内容”错误》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。