| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Создание xls - файлов |
| Автор: Bulat 24.7.2009, 16:04 |
| Возможно кто-то имеет опыт написания xls-файлов без использования сторонних(!) модулей(csv-файлы не в счет). Возможно использование xml, для решения данной задачи.. Хотелось бы узнать, насколько реально.. Или лучше "не изобретать велосипед, если это уже сделали за тебя" и установить модуль, что-нить типа Spreadsheet::WriteExcel ?? |
| Автор: shamber 24.7.2009, 16:30 |
| Bulat, я сейчас работаю над такой же проблемкой. Решил остановиться на Excel 2003 xml. я правда пока не тестировал производительность, но на глаз однозначно быстрее чем OLE и Spreadsheet::WriteExcel. Логика следующая: 1 готовлю шаблон в Excel. 2 сохраняю в xml. 3 обработаваю Вот это (3) самый интересный пункт |
| Автор: shamber 24.7.2009, 16:48 |
| Что там может быть подробнее Открываете Excel создаете макет(рыбу) http://ipicture.ru/Gallery/Viewfull/21256490.html Сохранить КАК ".xml"(Office2003) Таблица xml Office 2003 (Office2007). http://ipicture.ru/Gallery/Viewfull/21256491.html Затем парсите , правите, сохраняете в ".xls" Excel его автоматически открывает |
| Автор: Bulat 24.7.2009, 17:05 |
| Не совсем то, что мне нужно, хотя будет полезно для получения решения моей задачи. Меня не устраивает лишь то, что сначала открывается сам эксель и в нем создается шаблон. Хотса все же начинать с абстрактной таблицы, которую нужно создать, и вот меня как раз интересовали премудрости описания электронных таблиц средствами xml... А если чуть проще, то мне нужно некоторые данные из базы сохранить в виде excel-таблиц, в соотв. файле... Я могу с легкостью создать любой xml-файл, разметку, просто нужно научится создавать ее кошерно, чтоб сходилось с тем, что подходит для самого xls |
| Автор: shamber 24.7.2009, 18:34 |
| ну, а что мешает глянуть внутрь xml, после создания? там всего то <Row> да <Cells> + описания всяких хреновин, типа область печати и прочее Добавлено через 2 минуты и 52 секунды Я решил использовать шаблон, чтобы не заморачиваться по поводу форматирования ячеек. Добавлено через 3 минуты и 31 секунду Да и правильнее, потому как отделяем код от данных |
| Автор: Bulat 27.7.2009, 15:51 | ||
Но теряем абстракцию... Опять же, готовить шаблон хорошо, когда таблица статическая... Но зачастую, по крайней мере на моем опыте, приходится менять таблицы, начиная с добавления нового столбца, заканчивая с переделыванием таблиц, изменением типов столбцов и т.д. Причем это приходится делать не так уж и редко. В таком случае, кроме изменения самого кода программы придется еще и переделывать шаблон. А форматирование ячеек не такая уж и сложная задача в том плане, что "сложные" форматы практически не используются, а для простых решения тоже довольно тривиальны |
| Автор: shamber 27.7.2009, 22:52 |
| шаблон, для меня, может я не совсем правильно высказался, необходим только с целью, не заморачиваться относительно форматирования ячеек. Мне нет нужны вникать в то, как это сделать. Сделал ячейку такой какой надо, пометил ее для себя, дальше просто копируешь ее в таблицу которую генеришь и все. |
| Автор: Bulat 28.7.2009, 10:07 | ||
Во многом в этом и весь смысл заведенной мною темы. Есть еще более простые решения по этому поводу и на уровне csv-файлов. |
| Автор: shamber 29.7.2009, 19:29 |
меня лично ничем не вдохновили. |
| Автор: Bulat 30.7.2009, 12:21 |
Скорость решения + нет необходимости в использовании дополнительных технологий кроме самого языка программирования. Причем решение не только тривиальных, но и задач "средней сложности", я бы сказал. P.S. Как говорится все гениальное в простоте. |
| Автор: shamber 31.7.2009, 16:00 |
| xml я обрабатываю регулярками никаких |