如何在phpspreadsheet中添加新行?

时间:2018-08-18 23:58:35

标签: php excel phpexcel php-5.6 phpspreadsheet

我有一个小项目[Billing Account]包含一些数学运算/值,例如[+ / *-%]。 深入搜索后,许多网站建议phpspreadsheet,我开始通过教程学习如何使用它。

问:如何添加新行?

例如:当我单击“保存”按钮时,程序将另存一条记录 新行。

代码:

<?php

use PhpOffice\PhpSpreadsheet\Spreadsheet; 
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

require_once __DIR__ . '/phpoffice/phpspreadsheet/src/Bootstrap.php';


$spreadsheet = new Spreadsheet();
?>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Name:<input type="text" name="name">
    Age:<input type="text" name="age">
    <input type="submit" name="submit" value="Save">
</form>
</body>
</html>
<?php

$spreadsheet->getProperties()
->setCreator('root');

// New Worksheet
$sheet = $spreadsheet->getActiveSheet();
$sheet->setTitle('MySheet');


if(isset($_POST['submit'])){
$name = $_POST['name'];
$age = $_POST['age'];

 $sheet->setCellValue('A1',$name);
 $sheet->setCellValue('B1',$age);

$Writer = new Xlsx($spreadsheet);
$Writer->save('test.xlsx');

}

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是insertNewRowBefore,您需要一个Worksheet类实例,这是您大部分时间用来操纵特定活动工作表的实例。 我真的不知道您还需要什么,但请遵循this API docs

如果您只想在一行中添加一个值,只需使用:

$cell = $sheet->getCellByColumnAndRow(colNumber(int), rowNumber(int));
$sheet->setCellValue('your value', $cell->getValue());

然后再次浏览api,电子表格的工作方式很奇怪。