PHPSpreadsheet - 在 excel 工作表中包含 "format as table" 的多个表
PHPSpreadsheet - Multiple tables with "format as table" in excel worksheet
我尝试在一个工作表中包含多个格式化的 table。该模板类似于以下示例:Template
table 的样式使用 table 格式模板。
如果我运行代码:
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档。
如果我尝试手动设置 table 的样式,我会 运行 遇到自动过滤器的问题。好像只能设置一个过滤范围。我尝试了以下代码:
$ageSheet =$spreadsheet->getSheet(0);
$ageSheet->setAutoFilter('A3:B10');
$ageSheet->setAutoFilter('D3:E9');
$ageSheet->setAutoFilter('A17:B24');
$ageSheet->setAutoFilter('D17:E23');
只会设置最后一个范围。
我的问题是:
- 是否可以使用 PHPSpreadsheet 在工作表中包含多个 table?
- 如何实现上面显示的这种输出?
版本
- Excel 女士 Excel 2013
- PHP电子表格 [1.2.1] - 2018-04-10
在MS excel中只能设置一个真正的过滤器。要在工作表上有多个,您必须使用格式模板。格式模板使用 pivot tables 来实现多过滤器行为。
PHP 电子表格使用 table 过滤并每次使用 setAutoFilter 方法覆盖过滤。这意味着每个工作表只能有一个。
目前 PHP 电子表格中不支持枢轴 tables。
目前无法在一个工作表中包含更多已过滤的 table。
我尝试在一个工作表中包含多个格式化的 table。该模板类似于以下示例:Template
table 的样式使用 table 格式模板。
如果我运行代码:
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档。
如果我尝试手动设置 table 的样式,我会 运行 遇到自动过滤器的问题。好像只能设置一个过滤范围。我尝试了以下代码:
$ageSheet =$spreadsheet->getSheet(0);
$ageSheet->setAutoFilter('A3:B10');
$ageSheet->setAutoFilter('D3:E9');
$ageSheet->setAutoFilter('A17:B24');
$ageSheet->setAutoFilter('D17:E23');
只会设置最后一个范围。
我的问题是:
- 是否可以使用 PHPSpreadsheet 在工作表中包含多个 table?
- 如何实现上面显示的这种输出?
版本
- Excel 女士 Excel 2013
- PHP电子表格 [1.2.1] - 2018-04-10
在MS excel中只能设置一个真正的过滤器。要在工作表上有多个,您必须使用格式模板。格式模板使用 pivot tables 来实现多过滤器行为。
PHP 电子表格使用 table 过滤并每次使用 setAutoFilter 方法覆盖过滤。这意味着每个工作表只能有一个。
目前 PHP 电子表格中不支持枢轴 tables。
目前无法在一个工作表中包含更多已过滤的 table。