我想完整地阅读 Excel 工作表并使用 AJAX 将每一行发送到另一个页面进行处理。因此,我使用以下代码将 Excel 工作表数据转换为 JSON 数组(参考库中提供的 PHPExcel 示例):
<?php
error_reporting(E_ALL);
set_time_limit(0);
date_default_timezone_set('Asia/Kolkata');
set_include_path(get_include_path() . PATH_SEPARATOR . 'PHPExcel-1.8/Classes/');
require_once 'PHPExcel/IOFactory.php';
$inputFileType = PHPExcel_IOFactory::identify($fileLocation);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setLoadSheetsOnly("SHEETNAME");
$objPHPExcel = $objReader->load($fileLocation);
$data = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
?>
Here $filelocation
是要读取的上传文件的位置,以便使用 AJAX 将行单独发送到另一个页面。
我在用$data
在 JavaScript 中为
DataToBeUploaded=<?php echo json_encode($data);?>;
但是 Excel 工作表包含一些合并单元格,因此 PHPExcel 无法读取这些合并单元格中的值。因此,这些单元格中的值被读取为 NULL。
有没有办法可以将合并单元格的左上角单元格值用于所有后续单元格? (实际上在我的例子中,单元格仅垂直合并)
例如。
我有(假设行从 1 开始编号,列从 A 开始编号)
这里 PHPExcel 读作:
data[1][A]='abc'
$data[1][B]='123'
$data[2][A]=''
$data[2][B]='456'
$data[3][A]=''
$data[3][B]='789'
我希望代码片段产生这些值:
data[1][A]='abc'
$data[1][B]='123'
$data[2][A]='abc'
$data[2][B]='456'
$data[3][A]='abc'
$data[3][B]='789'