在 PHP 中使用 Excel 模板生成文档
AnourValar/office 包是用来从 XLSX 模板中生成文档的 PHP +8.1 。 给定一个模板
使用如下代码,你可以用模板值生成文档:
$data = [
// scalar
'vat' => 'No',
'total' => [
'price' => 2004.14,
'qty' => 3,
],
// one-dimensional table
'products' => [
[
'name' => 'Product #1',
'price' => 989,
'qty' => 1,
'date' => new \DateTime('2022-03-30'),
],
[
'name' => 'Product #2',
'price' => 1015.14,
'qty' => 2,
'date' => new \DateTime('2022-03-31'),
],
],
];
// Save as XLSX (Excel)
(new \AnourValar\Office\TemplateService())
->generate(
'template1.xlsx', // path to template
$data // input data
)
->saveAs(
'generated_document.xlsx', // path to save
\AnourValar\Office\Format::Xlsx // save format
);
然后就会生成基于 template1.xlsx
文件的文档。
保存文档时,此包支持多种保存格式,包括:
- XLSX
- HTML
- ODS
除了从 XLSX 生成文件,这个包还支持:
- 二维表格
- 图片插入
- 动态模板
- 合并多个文件
- 导出表格 (grid service)
更多详情查看 Github 源码