【发布时间】:2020-01-03 22:01:27
【问题描述】:
我在尝试下载 xlsx 文件时遇到问题。当我在本地测试它时它工作得很好,但是当我将它上传到生产服务器时,文件被损坏了。
这是我正在使用的代码:
<?php
require 'conn.php';
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', '#');
$sheet->setCellValue('B1', 'First');
$sheet->setCellValue('C1', 'Last');
$sheet->setCellValue('D1', 'Handle');
header('Content-Type: application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="text.xlsx"');
header('Cache-Control: max-age=0');
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');
die;
我尝试将标题更改为,但没有帮助:
header('内容类型:application/vnd.ms-excel');
【问题讨论】:
-
检查文件编码,在我看来是错误的,无论是在创建文件时还是在打开时。
标签: php xlsx xls phpspreadsheet