嗨,我是这个名叫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”文件中插入新数据,以取代单元格以前的数据。如何使其将数据写入新行
发布于 2019-10-03 06:25:11
若要创建新行,需要使用要插入的行号调用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');
https://stackoverflow.com/questions/58213250
复制相似问题