我正在尝试打开模板xlsx,进行一些更改,然后将其另存为新文件。
问题在于模板可能已损坏或通常无效,并且无法在MS Excel中打开生成的文件。我通过从模板文件读取单元格数据并将其保存到新文件来解决此问题。但是我无法从模板中获取单元格的样式属性。我知道如何在新文件中设置属性,但不知道如何获取它-这是我的问题。
是的,这不是理想的解决方案。最好擦除模板以抑制其混乱。
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
$source = "source.xlsx"; // OK
$spreadsheet = IOFactory::load($source);
$spreadsheet->getActiveSheet()->getCell("A1")->setValue("sample data");
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$output = "otput.xlsx";
$writer->save($output);
$newload = IOFactory::load($output);
这是示例代码,我需要添加功能来读取单元格样式属性。 在最后一行中,我测试了输出文件的有效性-错误的结果以以下警报结尾:
致命错误:在1633行的C:\ xampp \ htdocs \ TEST \ vendor \ phpoffice \ phpspreadsheet \ src \ PhpSpreadsheet \ Reader \ Xlsx.php上的布尔值上调用成员函数children()