繁体   English   中英

在PHPExcel中重写已编辑的XLSX文件

[英]Rewrite edited XLSX file in PHPExcel

在此页面中,我找到了一些代码示例,将它们粘在一起后,我试图使其正常运行。 页面可以读取上载的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";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM