我试图在一个工作表中有多个格式化表。模板如下所示:
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