2 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');
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?谢谢
希望对你有帮助 :
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');
}
}
Run Code Online (Sandbox Code Playgroud)
对于 csv,只需将扩展名 .xlsx 更改为 .csv(区分大小写)