Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHPExcel中重写已编辑的XLSX文件_Php_Phpexcel_Xlsx - Fatal编程技术网

在PHPExcel中重写已编辑的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

在这一页中,我找到了一些代码示例,在将它们粘在一起之后,我正在努力使其正常工作。页面可以读取上传的XLSX文件并打印表单文本字段中的每个单元格。但我不知道,如何将编辑过的信息添加到以前的单元格中? 请帮忙

<?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”,消息为“单元格坐标不得为绝对值”。。。