Есть файлы xls, все лежат в одной папке, структура столбцов одинаковая, только разное количество строк
Стоит задача объединения их в один файл. Решил сделать через PHPExcel.
Накидал скрипт, который открывает файл, удаляет ненужные строки и столбцы и сохраняет все, что осталось в новый файл.
Но если применяю эти действия в цикле для всех файлов, вылетает ошибка
Notice: Undefined offset: -1 in /PHPExcel_1_8/Classes/PHPExcel.p hp on line 467
Fatal error: Call to a member function removeRow() on a non-object in /parts.php on line 60
В чем может быть проблема?
1. kapUstin - 05 Апреля, 2015 - 22:44:18 - перейти к сообщению
2. Sail - 05 Апреля, 2015 - 23:07:42 - перейти к сообщению
kapUstin пишет:
Notice: Undefined offset: -1 in /PHPExcel_1_8/Classes/PHPExcel.p hp on line 467
Fatal error: Call to a member function removeRow() on a non-object in /parts.php on line 60
В чем может быть проблема?
Fatal error: Call to a member function removeRow() on a non-object in /parts.php on line 60
В чем может быть проблема?
Чёрным-же по серому написано: предупреждение об отсутствии элемента по индексу '-1' и ошибка вызова метода элемента, не являющегося объектом.
Очевидно, в результате лишней итерации цикла.
3. kapUstin - 05 Апреля, 2015 - 23:32:03 - перейти к сообщению
Как можно побороть? я не особо шарю
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- foreach ($files_xls as $file_xls) {
- $objReader = new PHPExcel_Reader_Excel5();
- $objPHPExcel = $objReader->load("unzip_price/$file_xls");
- $objPHPExcel->getActiveSheet()->removeRow(1,3);
- $objPHPExcel->getActiveSheet()->removeColumn('E');
- // добавление нового столбца
- $objPHPExcel->getActiveSheet()->insertNewColumnBefore('A', 1);
- // добавить заголовок для нового столбца
- $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Производитель');
- // Сохранить все изменения в файл
- $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
- $objWriter->save("write_files/$file_xls");
- }