PHPspreadsheet只需打开并保存即可破坏单元格格式(单元格格式+条件格式)

时间:2020-01-24 13:20:13

标签: phpspreadsheet

我得到了某人的电子表格,并希望使用PHPspreadsheet自动填充一些值。

虽然这原理上可行,但我在单元格格式设置方面遇到了一些问题,但我创建了一个很小的测试电子表格来复制该问题。

遇到的问题:

单元格的样式来自

  1. 格式直接应用于单元格
  2. 规则应用的条件格式。

在原始Excel(xlsx)文件中,这两种格式设置说明可以正确合并。

但是,如果我只是使用PHPspreadsheet打开文件并将其保存为新名称,我似乎会得到“条件格式”而不是“特定于单元格的格式”。

如果我检查单元格的格式设置,则它们仍然存在。但是在PHPspreadsheet编写的文件中,“条件格式”似乎会覆盖所有“特定于单元格的格式”。

我附上了两张图片,以防万一。 example

这是我用来打开和保存的代码的精简版。我做错了吗?

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Style\Style;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;

$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadsheet = $reader->load("Book1.xlsx");
$worksheet = $spreadsheet->getActiveSheet();

$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save("test_save.xlsx");

?>

0 个答案:

没有答案