互聯(lián)網公司網站模板百度極速版app下載安裝掙錢
起因自然是導出數(shù)據(jù)到excel文件時,數(shù)據(jù)缺少現(xiàn)象。
百度講解是將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++;}// 數(shù)據(jù)寫入// $xlsWriter = new PHPExcel_Writer_Excel5($objPHPExcel); //該類寫入數(shù)據(jù)不能超過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行的數(shù)據(jù)了