我正在尝试创建一个页面,该页面可以下载十万个数据并使用 PHPSpreadSheet 将其导出到 excel 文件中,但我收到了 HTTP 错误 500
include('../config.php');
require_once '../../epson/resources/vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$spreadsheet->setActiveSheetIndex(0);
$activeSheet = $spreadsheet->getActiveSheet();
$filename = generateFileName($filename);
$sql = "SELECT * FROM table";
$activeSheet->setCellValue('A1', 'pcbid');
$activeSheet->setCellValue('B1', 'pcbtype');
$activeSheet->setCellValue('C1', 'grouprev');
$activeSheet->setCellValue('D1', 'symbol');
$mdthistorydownloadresult = $conn->query($sql);
if($mdthistorydownloadresult->num_rows > 0) {
$i = 2;
while($row = $mdthistorydownloadresult->fetch_assoc()) {
$activeSheet->setCellValue('A'. $i, $row['pcbid']);
$activeSheet->setCellValue('B'. $i, $row['pcbtype']);
$activeSheet->setCellValue('C'. $i, $row['grouprev']);
$activeSheet->setCellValue('D'. $i, $row['symbol']);
$i++;
}
}
$Excel_writer = new Xlsx($spreadsheet);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename='. $filename .'.xlsx');
$Excel_writer->save('php://output');
exit;
总行数 = 136750
当我将查询限制为 1000 时,它非常有效。
SELECT * FROM table LIMIT 1000