PHPExcel изменяет существующий файл .xlsx с несколькими листами
require_once '../Classes/PHPExcel/IOFactory.php';
/** PHPExcel */require_once '../Classes/PHPExcel.php';
$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load('dentkey.xlsx');
$excel2->setLoadAllSheets();
$excel2->setActiveSheetIndex(0);
$excel2->getActiveSheet()->setCellValue('C6', '4')
->setCellValue('C7', '5')
->setCellValue('C8', '6')
->setCellValue('C9', '7');
$excel2->setActiveSheetIndex(1);
$excel2->getActiveSheet()->setCellValue('A7', '4')
->setCellValue('C7', '5');
$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('dentkey1.xlsx');
здесь, я могу загрузить (.xlsx) файл, и я также могу изменить (dentkey.xlsx).
Но после генерации нового файла .xlsx(dentkey1.xlsx).. все данные рабочих таблиц, которые были в (dentkey.xlsx), не загружаются, а также я не могу установить значение для 2-го листа.
вы можете оценить
$excel2->setActiveSheetIndex(1);
$excel2->getActiveSheet()->setCellValue('A7', '4')
->setCellValue('C7', '5');
не устанавливает значение 5 в столбец C7 сгенерированного файла (dentkey.xlsx)
Пожалуйста, помогите мне...
спасибо заблаговременно
Ответы
Ответ 1
Этот код работает, протестирован в локальной среде WampServer Version 2.1
Последняя версия PHPExcel от Downalod PHPExcel 1.7.6
Рабочий код.
<?php
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
require_once '../Classes/PHPExcel/IOFactory.php';
require_once '../Classes/PHPExcel.php';
$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load('nTest.xlsx'); // Empty Sheet
$excel2->setActiveSheetIndex(0);
$excel2->getActiveSheet()->setCellValue('C6', '4')
->setCellValue('C7', '5')
->setCellValue('C8', '6')
->setCellValue('C9', '7');
$excel2->setActiveSheetIndex(1);
$excel2->getActiveSheet()->setCellValue('A7', '4')
->setCellValue('C7', '5');
$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('Nimit New.xlsx');
?>
Удалите эту строку из своего кода. $excel2->setLoadAllSheets();
Надеюсь, это поможет