首页 > 解决方案 > 使用 PhpSpreadsheet 写入 Excel 文件

问题描述

我有一个 php 代码,每当用户单击确定的按钮时都会触发该代码。该代码基本上在同一个目录中创建了一个新目录和一个新的 Excel 文件。我的目标是写入该excel文件。我有以下代码(顺便说一句,它不起作用):

$filename = 'moldes/VLMOLDES_'.$id.'/Orcamento161.xlsm';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($filename);
$worksheet = $spreadsheet->getActiveSheet();
$worksheet->getCell('A18')->setValue('3');

除了写入文件之外的所有内容都按预期工作。当我单击按钮时,它会打开一个空白页面,但没有任何反应!我尝试了很多不同的方法,但我是 phpSpreadSheets 的菜鸟。如何在该文件的特定单元格中写入内容?

标签: phpexcelphpspreadsheet

解决方案


您缺少以下内容 - 您需要在代码末尾保存文件,否则更改不会反映在文件中。

$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, "Xlsx");
$writer->save('moldes/VLMOLDES_'.$id.'/Orcamento161.xlsm');

此外,可能更喜欢使用:

$worksheet->setCellValue('A18', '3');

推荐阅读