[英]export file php to xls uses class PHPExcel
我想使用类PHPEXcel将一些文件php导出到XLS文件,我之前没有使用过。
在我的浏览器上的提示: “严重错误:在1124行的C:\\ AppServ \\ www \\ kjjp2 \\ Classes \\ PHPExcel \\ Cell.php中,已用完25165824字节的内存大小(尝试分配1056字节)”
码:
<?php
include "config/koneksi.php";
error_reporting(E_ALL);
require_once 'Classes/PHPExcel.php';
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
$query = "SELECT * FROM `tabeldata`";
$hasil = mysql_query($query);
// Set properties
$objPHPExcel->getProperties()->setCreator("Erik")
->setLastModifiedBy("Erik")
->setTitle("Office 2007 XLSX ")
->setSubject("Office 2007 XLSX ")
->setDescription("Document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file");
// Add some data
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Jenis Report')
->setCellValue('B1', 'Pembayaran')
->setCellValue('C1', 'No')
->setCellValue('D1', 'Cabang')
//and some files
->setCellValue('AG1', 'Surveyor');
$rowNya = 3;
$no = 0;
while($row=mysql_fetch_array($hasil)){
$no = $no +1;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A$rowNya", $row['jenReport'])
->setCellValue("B$rowNya", $row['pembayaran'])
->setCellValue("C$rowNya", $row['no'])
->setCellValue("D$rowNya", $row['cabang'])
->setCellValue("E$rowNya", $row['namaSales'])
->setCellValue("F$rowNya", $row['jenLaporan'])
//and some files
->setCellValue("AG$rowNya", $row['surveyor']);
$rowNya = $rowNya + 1;
}
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Simple');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="database.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>
您用完了可供PHP使用的RAM。 您可以在php.ini中设置PHP将使用多少RAM。 当前,您将此限制设置为24MB,这是非常低的。 尝试增加它。
ini_set('memory_limit', '256M');
PHPExcel以内存不足而闻名。 该网站上有一些解决方法的讨论,请参阅http://phpexcel.codeplex.com/discussions/242712?ProjectName=phpexcel
您也可以考虑使用另一个库,例如旧的Spreadsheet_Excel_Writer库(也有其缺点) http://pear.php.net/package/Spreadsheet_Excel_Writer/redirected
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.