Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание xls - файлов, "своими силами" 
:(
    Опции темы
Bulat
Дата 24.7.2009, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Возможно кто-то имеет опыт написания xls-файлов без использования сторонних(!) модулей(csv-файлы не в счет). Возможно использование xml, для решения данной задачи..

Хотелось бы узнать, насколько реально..

Или лучше "не изобретать велосипед, если это уже сделали за тебя" и установить модуль, что-нить типа Spreadsheet::WriteExcel ??


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
shamber
Дата 24.7.2009, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



Bulat, я сейчас работаю над такой же проблемкой.
Решил остановиться на Excel 2003 xml.

я правда пока не тестировал производительность, но на глаз однозначно быстрее чем OLE и Spreadsheet::WriteExcel.


Логика следующая:
1 готовлю шаблон в Excel.
2 сохраняю в xml.
3 обработаваю smile

Вот это (3) самый интересный пункт smile Сейчас я парсю ручками smile Думаю попробовать XML:Xmllib.  
PM MAIL Jabber   Вверх
Bulat
Дата 24.7.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Цитата(shamber @  24.7.2009,  16:30 Найти цитируемый пост)
Вот это (3) самый интересный пункт smile Сейчас я парсю ручками smile Думаю попробовать XML:Xmllib.   


С xml - проблем нет, я уже давно его использую, кроме этих библиотек есть пара своих написных функций, по приведению данных к xml..


Цитата(shamber @  24.7.2009,  16:30 Найти цитируемый пост)

1 готовлю шаблон в Excel.
2 сохраняю в xml.


А вот про это хотелось бы поподробнее.



--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
shamber
Дата 24.7.2009, 16:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



Что там может быть подробнее smile



Цитата(shamber @  24.7.2009,  16:30 Найти цитируемый пост)
1 готовлю шаблон в Excel.

Открываете Excel создаете макет(рыбу)
user posted image

Цитата(shamber @  24.7.2009,  16:30 Найти цитируемый пост)
2 сохраняю в xml.

 Сохранить КАК
 ".xml"(Office2003) 
Таблица xml Office 2003 (Office2007).
user posted image

Затем парсите , правите,  сохраняете в ".xls" Excel его автоматически открывает smile




Это сообщение отредактировал(а) shamber - 24.7.2009, 16:53
PM MAIL Jabber   Вверх
Bulat
Дата 24.7.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Не совсем то, что мне нужно, хотя будет полезно для получения решения моей задачи.

Меня не устраивает лишь то, что сначала открывается сам эксель и в нем создается шаблон. Хотса все же начинать с абстрактной таблицы, которую нужно создать, и вот меня как раз интересовали премудрости описания электронных таблиц средствами xml...

А если чуть проще, то мне нужно некоторые данные из базы сохранить в виде excel-таблиц, в соотв. файле... Я могу с легкостью создать любой xml-файл, разметку, просто нужно научится создавать ее кошерно, чтоб сходилось с тем, что подходит для самого xls smile


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
shamber
Дата 24.7.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



ну, а что мешает глянуть внутрь xml, после создания? smile

там всего то <Row> да <Cells> smile

+ описания всяких хреновин, типа область печати и прочее smile, правда, оно занимает много места smile

Добавлено через 2 минуты и 52 секунды
Я решил использовать шаблон, чтобы не заморачиваться по поводу форматирования ячеек.

Добавлено через 3 минуты и 31 секунду
Да и правильнее, потому как отделяем код от данных smile
PM MAIL Jabber   Вверх
Bulat
Дата 27.7.2009, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Цитата(shamber @  24.7.2009,  18:34 Найти цитируемый пост)
Добавлено через 2 минуты и 52 секунды
Я решил использовать шаблон, чтобы не заморачиваться по поводу форматирования ячеек.

Добавлено через 3 минуты и 31 секунду
Да и правильнее, потому как отделяем код от данных smile 


Но теряем абстракцию...

Опять же, готовить шаблон хорошо, когда таблица статическая... Но зачастую, по крайней мере на моем опыте, приходится менять таблицы, начиная с добавления нового столбца, заканчивая с переделыванием таблиц, изменением типов столбцов и т.д. Причем это приходится делать не так уж и редко. smile

В таком случае, кроме изменения самого кода программы придется еще и переделывать шаблон.

А форматирование ячеек не такая уж и сложная задача в том плане, что "сложные" форматы практически не используются, а для простых решения тоже довольно тривиальны smile



--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
shamber
Дата 27.7.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



шаблон, для меня, может я не совсем правильно высказался, необходим только с целью, не заморачиваться относительно форматирования ячеек. Мне нет нужны вникать в то, как это сделать. 
Сделал ячейку такой какой надо, пометил ее для себя, дальше просто копируешь ее в таблицу которую генеришь и все.
PM MAIL Jabber   Вверх
Bulat
Дата 28.7.2009, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Цитата(shamber @  27.7.2009,  22:52 Найти цитируемый пост)
шаблон, для меня, может я не совсем правильно высказался, необходим только с целью, не заморачиваться относительно форматирования ячеек. Мне нет нужны вникать в то, как это сделать. 


Во многом в этом и весь смысл заведенной мною темы. Есть еще более простые решения по этому поводу и на уровне csv-файлов. smile


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
shamber
Дата 29.7.2009, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



Цитата(Bulat @  28.7.2009,  10:07 Найти цитируемый пост)
csv-файлов

меня лично ничем не вдохновили.
PM MAIL Jabber   Вверх
Bulat
Дата 30.7.2009, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Цитата(shamber @  29.7.2009,  19:29 Найти цитируемый пост)
меня лично ничем не вдохновили.


Скорость решения + нет необходимости в использовании дополнительных технологий кроме самого языка программирования. Причем решение не только тривиальных, но и задач "средней сложности", я бы сказал.

P.S. Как говорится все гениальное в простоте. smile Но иногда бывает нужно и что-то по сложнее smile


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
shamber
Дата 31.7.2009, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



xml я обрабатываю регулярками smile

Цитата(Bulat @  30.7.2009,  12:21 Найти цитируемый пост)
дополнительных технологий 

никаких smile

PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0768 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.