当前位置:首页 > 编程笔记 > 正文
已解决

PHPEXCEL解决行数超过65536不显示问题

来自网友在路上 171871提问 提问时间:2023-10-20 18:54:19阅读次数: 71

最佳答案 问答题库718位专家为你答疑解惑

起因自然是导出数据到excel文件时,数据缺少现象。

百度讲解是将xls文件另存为xlsx文件。

除了这里的原因,还有一点是phpExcel存在两个写入类PHPExcel_Writer_Excel2007和PHPExcel_Writer_Excel5,而只有PHPExcel_Writer_Excel2007支持超过65536行写入。

大致示例代码如下:

        $objPHPExcel = new PHPExcel();// 操作第一个工作表$objPHPExcel->setActiveSheetIndex(0);// 设置sheet名$phpExcelSheet = $objPHPExcel->getActiveSheet();$fileName = date('Y-m-d') . 'MoreTest';$phpExcelSheet->setTitle($fileName);// 冻结表头//$phpExcelSheet->freezePane('A2');// $phpExcelSheet->getStyle('A1:R1')->getFont()->setBold(true); //表头加粗// 设置保存格式$ext = '.xlsx';// 设置起始行$startRow = 1;$row = 65599;for($i=0; $i<$row;$i++){$phpExcelSheet->setCellValue('A' . $startRow, $i);$startRow++;}// 数据写入// $xlsWriter = new PHPExcel_Writer_Excel5($objPHPExcel); //该类写入数据不能超过65536行$xlsWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);/*if(isset($from) && $from == 'webdown'){header('Content-Type: application/octet-stream');header('Content-Disposition: attachment;filename="' . $fileName . '.xlsx"');header('Cache-Control: max-age=0');$xlsWriter->save('php://output');}*/// 设置保存路径if (!is_dir($this->logPath)) {@mkdir($this->logPath, 0700, true);}// 文件生成$fileName = $this->logPath . $fileName . $ext;$xlsWriter->save($fileName);return $fileName;

效果:

可以看到已经可以写入超过65536行的数据了

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"PHPEXCEL解决行数超过65536不显示问题":http://eshow365.cn/6-20346-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!