gpt4 book ai didi

php - 为什么我的 Excel 文件不能用 PHP 打开?

转载 作者:行者123 更新时间:2023-12-04 21:49:43 26 4
gpt4 key购买 nike

我需要在 Excel 文件中导出数据,我觉得很简单 :)

我使用 PhpSpreadsheet 库 (https://github.com/PHPOffice/PhpSpreadsheet)

我尝试使用 PhpSpreadsheet 示例并做一些简单的事情:

  • 创建 Xlsx 电子表格
  • 节省硬盘
  • 在浏览器中打开下载

  • 有我的代码:
    require_once $this->config->application->libraryDir . 'PhpSpreadsheet-master/vendor/autoload.php';

    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->setCellValue('A1', 'Hello World !');

    $writer = new Xlsx($spreadsheet);
    $fileName = 'export/hello_world.xlsx';
    $writer->save($fileName);

    // header('Location: '.$fileName);
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="'.$fileName.'"');
    header('Cache-Control: max-age=0');
    $writer->save('php://output');

    结果:该文件是在“导出”文件夹中创建的,我可以用 Windows 打开它。
    但是,当文件在下载的默认文件夹上下载时,我无法打开它。我有这个错误:Excel 遇到不可读的内容

    你知道为什么会出现这个问题吗?

    最佳答案

    试试 exit$writer->.save('php://output') 之后.对于故障排除,在您的 header(...) 之前s,试试 exit确保没有输出。

    既然你知道$writer->save($fileName)有效,您可以尝试,而不是调用 $writer->save('php://output')你可以做$writer->save($fileName); header(...); echo file_get_contents($fileName);尝试不同的内容类型也可能是值得的

    关于php - 为什么我的 Excel 文件不能用 PHP 打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57059453/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com