在PHPExcel中重写已编辑的XLSX文件
在这一页中,我找到了一些代码示例,在将它们粘在一起之后,我正在努力使其正常工作。页面可以读取上传的XLSX文件并打印表单文本字段中的每个单元格。但我不知道,如何将编辑过的信息添加到以前的单元格中? 请帮忙在PHPExcel中重写已编辑的XLSX文件,php,phpexcel,xlsx,Php,Phpexcel,Xlsx,在这一页中,我找到了一些代码示例,在将它们粘在一起之后,我正在努力使其正常工作。页面可以读取上传的XLSX文件并打印表单文本字段中的每个单元格。但我不知道,如何将编辑过的信息添加到以前的单元格中? 请帮忙 <?php require_once('Classes/PHPExcel.php'); $objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objReader->setReadDataOnly(true); $o
<?php
require_once('Classes/PHPExcel.php');
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("Ataskaita3.xlsx");
$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
echo '<form name="forma" method="post" action="'.$_SERVER['REQUEST_URI'].'">';
echo '<table border=1>' . "\n";
foreach ($objWorksheet->getRowIterator() as $row) {
echo '<tr>' . "\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo '<td><input type="text" name="laukelis" value="' . $cell->getValue() . '"/></td>' . "\n";
}
echo '</tr>' . "\n";
}
echo '</table>' . "\n";
echo '<input type="submit" name="submit" value="Redaguoti" />';
echo '</form>';
if(isset($_POST['submit'])){
error_reporting(E_ALL);
require_once 'Classes/PHPExcel/IOFactory.php';
$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load('Ataskaita3.xlsx');
$excel2->setActiveSheetIndex(0);
$excel2->getActiveSheet()->setCellValue('A1', '4')
->setCellValue('A2', '5')
->setCellValue('A3', '6')
->setCellValue('A4', '7');
$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('Ataskaita_redaguota.xlsx');
}else{
echo 'edit';
}
?>
从以下内容开始:
echo '<td><input type="text" name="' . $cell->getCoordinate() . '" value="' . $cell->getValue() . '"/></td>' . "\n";
echo“”。“\n”;
首先,我要确保表单中的每个单元格(输入字段)都有不同的名称。我是否必须将其设置为数组laukelis[]呢?我是PHPExcel的新手,所以如何将所有表单值放入打开的文档?->setCellValue..?提交表单时,循环所有单元格并测试与$cell->getCoordinate()值匹配的表单字段。。。这是存储在单元格中的值如何打印单元格坐标?如果我回显$_POST[$cell->getCoordinate()];我得到字段值,但如何打印字段名?foreach($\u POST[$cell->getCoordinate()]作为$key=>$value){?是的,我发现了。echo'.$cell->getCoordinate()'.$cell->getValue()'.$cell->getValue()。$cell->getValue()。;但是如何通过循环,打印所有表单值,foreach我得到了错误foreach($\u POST作为$name=>$value){print“$name:$value
”;$excel2->getActiveSheet()->setCellValue(“$name',“$value”);}
我发现此工作ir打印所有值,但当尝试插入到文档中时,收到以下消息:致命错误:未捕获异常“exception”,消息为“单元格坐标不得为绝对值”。。。