Gur*_*aur 3 php excel phpspreadsheet
如何使用phpspreadsheet库从数组创建Excel工作表列标题?
下面是我正在尝试的代码,但它不起作用:
// $header is an array containing column headers
$header = array("Customer Number", "Customer Name", "Address", "City", "State", "Zip");
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->fromArray($header, NULL, 'A1');
// redirect output to client browser
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="myfile.xlsx"');
header('Cache-Control: max-age=0');
$writer = new Xlsx($spreadsheet);
$writer->save('php://output');
Run Code Online (Sandbox Code Playgroud)
另外,您的 Content-Type 标头错误...
对于 BIFF .xls 文件
application/vnd.ms-excel
Run Code Online (Sandbox Code Playgroud)
对于Excel2007及以上版本的.xlsx文件
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Run Code Online (Sandbox Code Playgroud)
因此,完整工作的代码应该如下所示:
// $header is an array containing column headers
$header = [array("Customer Number", "Customer Name", "Address", "City", "State", "Zip")];
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->fromArray($header, NULL, 'A1');
// redirect output to client browser
header('Content-Disposition: attachment;filename="myfile.xlsx"');
header('Cache-Control: max-age=0');
$writer = new Xlsx($spreadsheet);
$writer->save('php://output');
Run Code Online (Sandbox Code Playgroud)