[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: импорт и экспорт xlsm
eguar
Задача состоит в том чтоб через php прочесть xlsm шаблон, заполнить, и выгрузить под другим названием. Пользовал PHPEXCELL но он не работает с xlsm. Единственное решение нашел через PHP COM. но сейчас стал вопрос переезда на UNIX сервер и аналогичного решения найти не могу. Подскажите если кто знает.
redreem
Цитата
Пользовал PHPEXCELL но он не работает с xlsm

работает. лично делал тоже самое. как минимум читал его. писать не пробовал, но чтение без проблем.
eguar

require_once ('PHPExcel/IOFactory.php');
$objPHPExcel = PHPExcel_IOFactory::load("test.xlsm");
$objPHPExcel->setActiveSheetIndex(0);

$aSheet = $objPHPExcel->getActiveSheet();

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);

$objWriter->save("test2.xlsm");

$objPHPExcel->disconnectWorksheets();
unset($objPHPExcel);


Файл таки да создается но битый без возможности открыть. Хотя первичный файл нормально открывается.
redreem
у меня при чтении скрипт валился. я нашел один баг в phpExcel, пофиксил, - заработало.
возможно у тебя эта же проблема но уже с записью. дай почту - скину пофиксеный класс, попробуешь.
eguar
в личке послал. Большое спасибо за отзыв. rolleyes.gif
eguar
применил изменения. Файл открылся но с ошибкой и без макросов.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog
xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error055320_01.xml</logFileName><summary>
Errors were detected in file 'test2.xlsm'</summary>
<removedRecords
summary="Following is a list of removed records:"><removedRecord>Removed Records: Named range from /xl/workbook.xml part (Workbook)</removedRecord>
</removedRecords></recoveryLog>
redreem
странно. ну в общем заходи в тот метод, на котором у тебя падает и дебаж построчно. станет понятно "что у него не получается сделать". у меня была проблема с коментами в vbl, не мог он их прочитать нормально. значит у тебя другое что-то. я так подозреваю, что изза кучи версий xls надо под конкретную версии отлаживать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.