如何使用 PHPSpreadsheet 在 Excel 上添加新行
How to add new row on Excel using PHPSpreadsheet
大家好,我是这个名为 PHPSpreadsheet 的库的新手。
我试着阅读它的文档,但我无法理解它。
我想在 现有 Excel 文件中插入一个新行,并且
这是我目前所拥有的:
<?php
require '../vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$inputFileName = 'Excel/hello.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Updated');
$writer = new Xlsx($spreadsheet);
$writer->save('../controller/excel/hello.xlsx');
?>
这会在 'hello.xsls' 文件中插入新数据 替换单元格之前的数据 。我怎样才能将数据写入新行?
你好我认为这个问题是因为内存耗尽所以增加你的内存限制 php.ini 文件
赞memory_limit=256M
增加内存限制后,重启你的apache
要创建一个新行,您需要调用 insertNewRowBefore()
之前要插入的行号...
$sheet = $spreadsheet->getActiveSheet();
$sheet->insertNewRowBefore(1);
$sheet->setCellValue('A1', 'Updated');
也可以调用插入行数,默认为1。
如果你想追加一行,你可以调用getHighestRow()
找到最后一行并为新行加1。还要更改 setCellValue()
调用中列的硬编码以也使用此行...
$sheet = $spreadsheet->getActiveSheet();
$row = $sheet->getHighestRow()+1;
$sheet->insertNewRowBefore($row);
$sheet->setCellValue('A'.$row, 'Updated');
大家好,我是这个名为 PHPSpreadsheet 的库的新手。 我试着阅读它的文档,但我无法理解它。
我想在 现有 Excel 文件中插入一个新行,并且 这是我目前所拥有的:
<?php
require '../vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$inputFileName = 'Excel/hello.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Updated');
$writer = new Xlsx($spreadsheet);
$writer->save('../controller/excel/hello.xlsx');
?>
这会在 'hello.xsls' 文件中插入新数据 替换单元格之前的数据 。我怎样才能将数据写入新行?
你好我认为这个问题是因为内存耗尽所以增加你的内存限制 php.ini 文件
赞memory_limit=256M
增加内存限制后,重启你的apache
要创建一个新行,您需要调用 insertNewRowBefore()
之前要插入的行号...
$sheet = $spreadsheet->getActiveSheet();
$sheet->insertNewRowBefore(1);
$sheet->setCellValue('A1', 'Updated');
也可以调用插入行数,默认为1。
如果你想追加一行,你可以调用getHighestRow()
找到最后一行并为新行加1。还要更改 setCellValue()
调用中列的硬编码以也使用此行...
$sheet = $spreadsheet->getActiveSheet();
$row = $sheet->getHighestRow()+1;
$sheet->insertNewRowBefore($row);
$sheet->setCellValue('A'.$row, 'Updated');