以下代码基于
laravel5.5
phpoffice/phpspreadsheet (export
)使用
composer
安装
composer require phpoffice/phpspreadsheet(会自动根据当前的php环境变量安装对应的版本)
- 调用对应的类
use PhpOffice\PhpSpreadsheet\Spreadsheet
;
use \PhpOffice\PhpSpreadsheet\IOFactory
;
3.具体步骤
//读取模板
$spreadsheet = IOFactory::load(public_path('excel/exportOrder.xlsx'));
// 读取第一个工作表
$excelSheet = $spreadsheet->getSheet(0);
$activerow = 2;
//插入所有需要的行数
$excelSheet-> insertNewRowBefore(3, sizeof($customer));
//移除行数
$excelSheet->removeRow(2, 1);
foreach ($customer as $k => $v) {
$excelSheet->setCellValue('A'.$activerow, $v->email);
$activerow++;
}
$filename = '客户订单汇总'.$time.".xlsx";
//直接输出到浏览器
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet , 'Xlsx');
$writer->save('php://output');