Я хочу полностью прочитать лист excel и использовать AJAX для отправки каждой строки на другую страницу для обработки. Таким образом, я использовал следующий код для преобразования данных листов Excel в JSON массив (Reference PHPExcel пример содержится в библиотеке):Прочитайте листы excel, содержащие объединенные ячейки, используя 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);
?>
Здесь $filelocation
является расположение загруженного файла, который должен быть прочитан для отправки строки индивидуально используя AJAX на другой странице. Я использую $data
в JavaScript, как
DataToBeUploaded=<?php echo json_encode($data);?>;
Но лист Excel содержит некоторые слившиеся клетки так PHPExcel не в состоянии прочитать значения в этих слитых клеток. Следовательно, значения в этих ячейках считаются NULL.
Есть ли способ, которым я могу использовать значение верхней левой ячейки объединенной ячейки для всех последующих ячеек? (Фактически в моем случае ячейки объединены только по вертикали)
Например. меня есть (Предположим, строки пронумерованы от 1 и колонны из А)
Здесь 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'