【发布时间】:2018-11-28 18:30:53
【问题描述】:
我尝试在一个工作表中包含多个格式化表格。该模板类似于以下示例:Template
表格使用表格格式模板进行样式设置。
如果我运行代码:
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;
$inputFileName = 'template/Age.xlsx';
$inputFileType = 'Xlsx';
if (!file_exists($inputFileName)) {
echo('File ' . $inputFileNameShort . ' does not exist');
}
$reader = IOFactory::createReader($inputFileType);
$spreadsheet = $reader->load($inputFileName);
$writer = new Xlsx($spreadsheet);
$writer->save(Age.xlsx);
$spreadsheet->disconnectWorksheets();
unset($spreadsheet);
编队不会被新的 Age.xlsx 文件所取代。
如果我尝试手动设置表格样式,我会遇到自动筛选的问题。似乎只能设置一个过滤范围。我尝试了以下代码:
$ageSheet =$spreadsheet->getSheet(0);
$ageSheet->setAutoFilter('A3:B10');
$ageSheet->setAutoFilter('D3:E9');
$ageSheet->setAutoFilter('A17:B24');
$ageSheet->setAutoFilter('D17:E23');
只会设置最后一个范围。
我的问题是:
- 是否可以使用 PHPSpreadsheet 在工作表中创建多个表格?
- 我怎样才能实现上面显示的这种输出?
版本
- Excel MS Excel 2013
- PHPSpreadsheet [1.2.1] - 2018-04-10
【问题讨论】:
标签: php excel phpspreadsheet