PHP电子表格在浏览器选项卡中显示空白

标签 php codeigniter phpspreadsheet

我用过https://github.com/PHPOffice/phpspreadsheet这个包来下载 codeigniter 中的 csv 文件

当我尝试下载时,它在浏览器选项卡中显示空白并且没有显示下载选项

没有错误

尝试使用以下代码

   <?php
   if (!defined('BASEPATH')) exit('No direct script access allowed');

   require 'vendor/autoload.php';
   use PhpOffice\PhpSpreadsheet\Spreadsheet;
   use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

   class Reports extends Admin_Controller
   {
       public function download()
       {
             $spreadsheet = new Spreadsheet();
             $sheet = $spreadsheet->getActiveSheet();
             $sheet->setCellValue('A1', 'Hello World !');
             $writer = new Xlsx($spreadsheet);
             $writer->save('hello world.xlsx');
       }
   }

有人可以帮忙吗??谢谢

最佳答案

希望对您有所帮助:

require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;

class Reports extends Admin_Controller
{

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

    $spreadsheet->setActiveSheetIndex(0);

    $filename = 'hello world';

    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');
    header('Cache-Control: max-age=0');

    $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');

    $writer->save('php://output');
  }
}

对于 csv,只需将扩展名 .xlsx 更改为 .csv(区分大小写)

关于PHP电子表格在浏览器选项卡中显示空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49794384/

相关文章:

php - 将 PHP JSON 传递给 Javascript : echo json_encode vs echo json declaration

codeigniter - 如何通过Codeigniter事件记录按日期分组?

PhpOffice\PhpSpreadsheet 无法为列或整个电子表格设置默认格式

PhpSpreadsheet block 过滤器读取返回空行

phpexcel - PHPSpreadsheet - "PHPExcel_Worksheet_Drawing"在哪里

PHP Curl 和 Cookie

php - 如何从 PHP 中的 URL 获取 HTML?

php - 基本参数题

php - foreach 循环中的 codeigniter 查询将返回单个数组

缺少非空字段的 MySQL 插入查询