powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Есть идея работать над дьявольски быстрым генератором XLSX
112 сообщений из 112, показаны все 5 страниц
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390825
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем по работе есть необходимость работать с большими отчётами в Excel 2007. Размер в 40-60 мб, а в разархивированном виде (все последние форматы Microsoft Office на самом деле являются zip-архивами) - все 100мб. Excel работает с этими файлами чрезвычайно медленно. Много секунд, а то и минут. Если работать с Excel по OLE, тягая таблицы в миллионы ячеек как VarArray - то обработку можно уложить в минуту. Если обычным ..Cells[..].Value - то может и часы. В общем очень долго

Все последние форматы Microsoft Office являются OOXML форматами и основаны на технологиях Zip + Xml. Я много времени своей жизни уделяю оптимизациям, много пишу на ассемблере и понимаю что могу реализовать взаимодействие с такими документами на низком уровне с максимальной скорость. Моё последнее достижение - распарсивание Xml 40мб с инфой о 2млн ячеек за 0.4 секунд. Думаю можно быстрее. В плане проекта - могу взять на себя зипование, распарсивание, запись, менеджмент строк и ячеек.. Но понимаю что проект в целом мне не потянуть. Есть менеджмент стилей, изображений, сводных таблиц и других характерных для Excel-я более высокоуровневых вещей. Поэтому ищу человека, который на протяжении долгого периода времени мог бы работать над более высокоуровневыми вещами генератора и читателя XLSX, который понимает что такое качественный VCL-like код, кто может работать в команде

Первое задание для такого человека - найти все XSD и определить что содержится в _rels по документам *.xlsx
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390847
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUВ общем по работе есть необходимость работать с большими отчётами в Excel 2007. Размер в 40-60 мб, а в разархивированном виде (все последние форматы Microsoft Office на самом деле являются zip-архивами) - все 100мб. Excel работает с этими файлами чрезвычайно медленно. Много секунд, а то и минут. Если работать с Excel по OLE, тягая таблицы в миллионы ячеек как VarArray - то обработку можно уложить в минуту

Excel 2007 поддерживает максимум миллион строк.

SOFT FOR YOUВ плане проекта - могу взять на себя зипование, распарсивание, запись, менеджмент строк и ячеек.. Но понимаю что проект в целом мне не потянуть. Есть менеджмент стилей, изображений, сводных таблиц и других характерных для Excel-я более высокоуровневых вещей

Все написано до нас. Берешь EMS Excel Report - там уже все написано.

SOFT FOR YOUПервое задание для такого человека - найти все XSD и определить что содержится в _rels по документам *.xlsx

Что там искать, если все в открытом доступе в первоисточнике - у мелкософта:
http://msdn.microsoft.com/en-us/library/cc313105.aspx
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390861
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Excel для отчетов вообще не подходит.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390873
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim RusovExcel для отчетов вообще не подходит
объясняй это клиентам/заказчикам
там где не канает fastreport и треба именно эксель юзаю flexcel - неплох
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390878
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Maxim RusovExcel для отчетов вообще не подходит.

Ага, объясни это юзерам, они и не знают )))
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390884
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в отчете > 1 таблицы - то excel не катит. Все юзеры об этом знают.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390891
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim RusovExcel для отчетов вообще не подходит.

Здрасьте. Эксель - это единственный движок, де-факто ставший стандартов для отчетов. Все остальное (Рейвы, Фасты, Кристалы и иже с ними) обычно служит прослойкой между СУБД и выгрузкой в Эксель.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390897
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim RusovЕсли в отчете > 1 таблицы - то excel не катит. Все юзеры об этом знают.
Твои юзеры не знают, что в Экселе на одном листе можно делать несколько таблиц, а в книге может быть несколько листов? :)
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390912
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и как сделать в Excel'е отчет, состоящий из N таблиц на одном листе, чтобы в каждой таблице было разное количество колонок разной ширины?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390923
SQLap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim RusovНу и как сделать в Excel'е отчет, состоящий из N таблиц на одном листе, чтобы в каждой таблице было разное количество колонок разной ширины?

merge ячеек?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390932
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim RusovНу и как сделать в Excel'е отчет, состоящий из N таблиц на одном листе, чтобы в каждой таблице было разное количество колонок разной ширины?

Если хочется (и действительно нужно, что далеко не факт!) странненького - делай не в Excel, кто ж тебя заставляет? Другое дело, что... из примерно двухсот отчетов у меня в конторе нет ни одного, который требовал бы на одном листе несколько таблиц с колонками разной ширины. И на предыдущей работе тоже не было. И до этого не было. И подозреваю, такая ситуация у подавляющего большинства других пользователей.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390943
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim RusovНу и как сделать в Excel'е отчет, состоящий из N таблиц на одном листе, чтобы в каждой таблице было разное количество колонок разной ширины?
Очевидно как - слева направо

Сделать-то можно, вот только объясни, нафига? Чтобы нажать кнопку Print, закрыть этот Эксель и сесть с ручкой разбираться в данных?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390949
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. "стандарт де факто для отчетов" годится не для всех отчетов. Ч.и т.д.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390956
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Maxim RusovТ.е. "стандарт де факто для отчетов" годится не для всех отчетов . Ч.и т.д.

Именно, что НЕ ДЛЯ ВСЕХ. Вопреки твоему же категорическому утверждению, что
Maxim Rusov Excel для отчетов вообще не подходит .
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390960
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerСделать-то можно, вот только объясни, нафига? Чтобы нажать кнопку Print, закрыть этот Эксель и сесть с ручкой разбираться в данных?
Отчеты бывают разные. В том числе такие, у которых есть строго заданная печатная форма, которая должна совпасть тютелька в тютельку. Или в вашей терминологии - это уже не отчеты?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37390977
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim RusovsoftwarerСделать-то можно, вот только объясни, нафига? Чтобы нажать кнопку Print, закрыть этот Эксель и сесть с ручкой разбираться в данных?
Отчеты бывают разные. В том числе такие, у которых есть строго заданная печатная форма, которая должна совпасть тютелька в тютельку. Или в вашей терминологии - это уже не отчеты?
Такие отчёты незачем выгружать в Эксель, хотя можно это сделать. Что-то непонятно?

P.S. Ещё есть задача печати на типографских бланках. Когда нужно попадать буквами в квадратики. И это, кстати, не отчёты.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391004
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ok, для некоторых, простеньких, отчетов Excel может подойти, если вам от этого легче. Но в общем случае - нет.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391005
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну в общем суровые сибирские мужики сказали своё слово и пошли дальше валить лес топорами
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391009
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Топор - это excel? :)
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391029
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim RusovOk, для некоторых, простеньких, отчетов Excel может подойти, если вам от этого легче. Но в общем случае - нет.
А если говорить на чистоту, для подавляющего большинства отчетов Excel подойдет, а для значительного количества - Excel вообще не имеет альтернативы (или как непосредственный движок отчета, или через экспорт), т.к. на отчет зачастую не просто сидят и смотрят, а проводят анализ данных.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391035
Maxim Rusov,
Клинический троль
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391053
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошитель,

Давайте не будем говорить от имени "подавляющего большинства".
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391055
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Maxim RusovДжекНепотрошитель,

Давайте не будем говорить от имени "подавляющего большинства".

Он говорил об отчетах, а не "от имени":
ДжекНепотрошительдля подавляющего большинства отчетов

Кстати, ДжекНепотрошитель сказал все правильно, поддерживаю.
+100500
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391060
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По теме треда: неужели Excel 2007 перестал старый добрый формат (BIFF8) понимать? Или Микрософт заявила о планах отказаться от него? А ведь еще HTML есть. И CSV. А то как-то слишком походит на героическую борьбу с придуманными трудностями.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391071
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
xen2По теме треда: неужели Excel 2007 перестал старый добрый формат (BIFF8) понимать? Или Микрософт заявила о планах отказаться от него? А ведь еще HTML есть. И CSV. А то как-то слишком походит на героическую борьбу с придуманными трудностями.

Excel теперь юзает и BIFF8, и BIFF16.
Вот только в BIFF8 может быть максимум 65536 строк на лист, а в BIFF16 - миллион
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391086
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет HTML - я мог и ошибиться, Word его точно читает, а Excel - не могу сейчас проверить

А еще Excel должен понимать формат SYLK - никто не пробовал в него экспортировать?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391130
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, давайте без флуда

defecator ,
vavan
спасибо - посмотрю

но что-то мне подсказывает, что своя поделка будет в разы быстрее )

P.S.
тема ещё актуальна
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391147
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел и flexcel и EMS Excel Report

Это абсолютно не то !
это средство генерации отчёта из БД или вручную. А мне не нужно контактировать с БД, полностью своя выборка данных. Более того необходимо читать XLSX файлы, быстрее чем позволяет OLE. Объёмы большие
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391177
Ugums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Open XML SDK?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391181
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUПосмотрел и flexcel и EMS Excel Report

Это абсолютно не то !
это средство генерации отчёта из БД или вручную. А мне не нужно контактировать с БД, полностью своя выборка данных. Более того необходимо читать XLSX файлы, быстрее чем позволяет OLE. Объёмы большие

Ну, то есть там же ты и не посмотрел второй продукт: EMS Export. Как раз своя выборка ))))
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391187
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorНу, то есть там же ты и не посмотрел второй продукт: EMS Export. Как раз своя выборка ))))

В любом случае не подходит. Слишком универсальный подход. А универсальность - враг скорости
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391215
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUнеобходимо читать XLSX файлы, быстрее чем позволяет OLE
flexcel уже давно не юзает OLE
валит прямо файлы, нативно
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391233
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUА мне не нужно контактировать с БД, полностью своя выборка данных
и данные берет откуда хочешь, можно из датасета а можно вручную загнать

SOFT FOR YOUСлишком универсальный подход
а тебе какой нужен, в чем и для чего "неуниверсальность"?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391272
SOFT FOR YOU Более того необходимо читать XLSX файлы, быстрее чем позволяет OLE. Объёмы большие

Открой для себя nativeexcel 3.0

А заодно google, yandex и torry.net
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391283
Maxim RusovsoftwarerСделать-то можно, вот только объясни, нафига? Чтобы нажать кнопку Print, закрыть этот Эксель и сесть с ручкой разбираться в данных?
Отчеты бывают разные. В том числе такие, у которых есть строго заданная печатная форма, которая должна совпасть тютелька в тютельку. Или в вашей терминологии - это уже не отчеты?

Печатная форма первичного документа (счет-фактура) - это не документ сводной аналитической отчетности.

Это раз.

Два - тютелька-нетютелька, а даже счет-фактура - отлично ложится на формат Excel. Просто у тебя
даже юзерские навыки (работы в Excel) видно в каком-то зачаточном, примитивном состоянии (и непонятно, зачем ты нам
рассказываешь про эту свою ущербность).
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391335
SOFT FOR YOUЯ много времени своей жизни уделяю оптимизациям, много пишу на ассемблере

Вы хотите поговорить об этом? Современная медицина - творит чудеса, поверьте!
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391355
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorExcel 2007 поддерживает максимум миллион строк.
Но зато поддерживает 65 миллиардов ячеек
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391424
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorВот только в BIFF8 может быть максимум 65536 строк на лист, а в BIFF16 - миллион
А чего из этого не хватает большинству отчётов?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391439
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

у нас больше 65к строк бывает
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391454
Anatoly PodgoretskydefecatorExcel 2007 поддерживает максимум миллион строк.
Но зато поддерживает 65 миллиардов ячеек

Это глупость. В мире еще не построен такой компьютер, который практически смог бы даже вместить в ОЗУ такое количество данных, не говоря уже про то, чтоб их обработать.

Так что про поддержку речи нет - только про теоретическую возможность, сильно теоретическую.

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

softwarerdefecatorВот только в BIFF8 может быть максимум 65536 строк на лист, а в BIFF16 - миллион
А чего из этого не хватает большинству отчётов?

Для отчетов (которые печатают) этого хватает. А вот строк - иногда и не хватает, для выгрузки в
Excel данных из БД, с целью дальнейшей их там обработки сводными таблицами (тупо продажи по номенклатуре и документам, не самой крупной фирмы, в виде примера, за месяц-два).
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391460
SOFT FOR YOUsoftwarer,

у нас больше 65к строк бывает

Ты nativeexcel уже посмтрел, или не можешь его через гугл найти?

Или решил из принципа не смотреть?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391517
Uridian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOUнеобходимо читать XLSX файлы, быстрее чем позволяет OLE. Объёмы большие
Какой в этом смысл, кроме академического? Эти считанные данные всё равно придётся куда-то пихать, (видимо всё же в СУБД, раз большие объёмы), а это уже тормоза на порядок-два выше.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391519
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UridianЭти считанные данные всё равно придётся куда-то пихать, (видимо всё же в СУБД, раз большие объёмы), а это уже тормоза на порядок-два выше.
Ты слишком хорошо думаешь про OLE и слишком плохо про СУБД
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391545
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знающему гуглТы nativeexcel уже посмтрел, или не можешь его через гугл найти?
Или решил из принципа не смотреть?

Он платный
не хочу платить $50
почему то )
понимаю что деньги не большие, но всё же
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391546
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старперы радуютЭто глупость. В мире еще не построен такой компьютер, который практически смог бы даже вместить в ОЗУ такое количество данных, не говоря уже про то, чтоб их обработать.Вопрос - зачем все данные держать в оперативке? Нормальные БД такое количество "ячеек" могут и хранить, и обрабатывать на обычных компах
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391555
SOFT FOR YOUНе знающему гуглТы nativeexcel уже посмтрел, или не можешь его через гугл найти?
Или решил из принципа не смотреть?

Он платный
не хочу платить $50
почему то )
понимаю что деньги не большие, но всё же

А, ну давай давай, пиши свой. Потраченные два месяца (в сумме затрат для твоего работодателя - от $2500 до $8000, по текущему рынку труда) - это конечно намного, намного дешевле получится, чем $50.

Умный ход, мышление взрослого мужчины, уважаю. Респект и прочее.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391559
fd00chСтарперы радуютЭто глупость. В мире еще не построен такой компьютер, который практически смог бы даже вместить в ОЗУ такое количество данных, не говоря уже про то, чтоб их обработать.Вопрос - зачем все данные держать в оперативке? Нормальные БД такое количество "ячеек" могут и хранить, и обрабатывать на обычных компах

Excel держит данные в памяти. Речь шла о нем, а не о БД.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391647
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vavanSOFT FOR YOUнеобходимо читать XLSX файлы, быстрее чем позволяет OLE
flexcel уже давно не юзает OLE
валит прямо файлы, нативно

Только поддержка в FlexCel VCL НЕ реализована для XLXS.
Это есть только в версии FlexCel .Net
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391739
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUЕсли работать с Excel по OLE, тягая таблицы ........ как VarArray ......

тыкните носом плиз, где почитать про такое
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391750
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел, сорри
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391960
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автор, очевидно, строго ограничен форматом XLSX (или сам себя ограничил?), но если кого-то интересует максимально быстрое чтение файла Экселем (или минимальное суммарное время операций экспорта в своей программе и открытия в Экселе), то я бы на его месте все же проверил бы варианты BIFF12, SYLK и, для полноты, HTML. Это если нужно преодолеть порог 64K строк, иначе - BIFF8.
сайт МикрософтIn addition to the new XML-based file formats, Office Excel 2007 also introduces a binary version of the segmented compressed file format for large or complex workbooks. This file format, the Office Excel 2007 Binary (or BIFF12) file format (.xls), can be used for optimal performance and backward compatibility.(правда, я не понял, если у BIFF12 расширение ".xls", то что тогда за формат у файлов ".xlsb", может быть, здесь ошибка и ".xls" - это всегда BIFF8 или старее??)

Кстати, автор как-то вдруг неожиданно упомянул о необходимости чтения (или "дьявольски быстрого парсинга"?) XLSX, но ведь это уже вторая, отдельная задача.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391963
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще "for large or complex workbooks" в цитате забыл жирным выделить
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391970
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xen2я бы на его месте все же проверил бы варианты BIFF12, SYLK и, для полноты, HTMLв смысле, хотя бы на время открывания Экселем протестировал (и, для последних двух, на способность преодоления границы в 64К строк) - жаль что сам сейчас не могу
xen2здесь ошибка и ".xls" - это всегда BIFF8 или старее?да, в другом месте Микрософт так и пишет (XLSX = BIFF12, XLS = BIFF8 or BIFF5)
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37391973
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*xlsb=biff12 (сорри, проснулся не до конца)
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392080
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
XLSX - это всегда XML-формат файла,
XLSB - это бинарный формат файла, BIFF12
XLS - это всегда BIFF8

По крайней мере, так по умолчанию.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392110
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator, я-то уже сам понял, но спасибо

кстати, XLSB/BIFF12 - тоже зазипованная кучка файлов, так что то, что Эксель будет открывать его быстрее всех остальных вариантов - под вопросом
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392115
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorТолько поддержка в FlexCel VCL НЕ реализована для XLXS.
Это есть только в версии FlexCel .Net
это да, пока только ожидается
а в остальном сколько я помню flex самый самый :)
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392124
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2Автор, очевидно, строго ограничен форматом XLSX (или сам себя ограничил?)

Кроме этого ограничения - генерация самим MS Office, а не сторонними прогами + кодировка utf-8(рус). Связанно с тем что:
- все у нас на работе пользуются этим форматом
- самые большие xml (листы, shared strings) наглядны и позволяют распарсиваться и сохраняться без типичного xml парсера, а значительно быстрее
- xml понятны, и разобраться в них проще чем в других

А жёсткая ориентация - только для быстрейшей (как я уже сказал "дьявольской") оптимизации. Предстоит обработка миллионов ячеек и я хочу обрабатывать их за пару секунд, а не минут. Открывать, обрабатывать, сохранять, закрывать
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392125
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xlsb/biff12, неофиц. описание и код на c++/c#:
http://www.arstdesign.com/articles/office2007bin.html
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392143
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOUОткрывать, обрабатывать, сохранять, закрыватьах, вот оно что
а экселевский макрос с этим не справится? ведь тогда, считай на времени открытия/сохранения можно сэкономить - то есть не сохранять и не открывать, результат-то человек ведь хочет увидеть, который в экселе работает?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392153
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну и как бы напрашивается идея вместо того, чтобы подставлять костыли Экселю, сделать свою автономную программу с базой данных
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392174
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2ах, вот оно что
а экселевский макрос с этим не справится?

Excel открывается/сохраняется долго. Макросы в многих случаях использовать неудобно - проще аналитику и анализ данных делать в Delphi. Да и быстрее. Ну а с данными Excel-я быстрее работать через VarArray чем обращаться к ячейкам внутри макроса. Так что
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392206
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOU, я просто суть вашего "потока данных" и последовательности работы людей с ним не понял

то есть, человек набивает данные, сохраняет файл, он где-то себе лежит (долго-долго), ваша программа его открывет-обрабатывает-сохраняет (быстро-быстро), потом он опять лежит, пока его человек не захочет в экселе открыть
что-то такое вырисовывается, но как-то очень странно выглядит

мне представляется такой вариант: человек забил данные, и ему сразу нужен результат, он нажал кнопочку и получил его в этом же открытом документе, ничего не сохраняя и не открывая
это совсем не то?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392225
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOUс данными Excel-я быстрее работать через VarArray чем обращаться к ячейкам внутри макросавы точно проверили, что вариант с OLE-обменом информацией будет медленнее, чем хотя бы просто сохранение и открытие XLSX в Экселе плюс время обработки в вашей программе-обработчике даже без открытия и сохранения ей XLSX?? (впрочем, примерную оценку для времени открытия/сохранения стоит сделать и приплюсовать)
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392239
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>я просто суть вашего "потока данных" и последовательности работы людей с ним не понял
а зачем вам это понимать

>вы точно проверили, что вариант с OLE-обменом информацией будет медленнее
точно
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392242
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOU >я просто суть вашего "потока данных" и последовательности работы людей с ним не понял
а зачем вам это понимать

>вы точно проверили, что вариант с OLE-обменом информацией будет медленнее
точно

Не точно. Либо готовить OLE не умеешь.

Вставка ста тысяч записей через OLE занимает полсекунды примерно.
Чуть позже тест выложу.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392269
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOUExcel открывается/сохраняется долго.а вот здесь Вы что имели в виду?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392276
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOUа зачем вам это пониматьесли честно - сомневаюсь в правильности постановки задачи
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392284
Фотография Мигалка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот ещё можно попробовать:
http://connectionstrings.com/excel-2007
Код: plaintext
Provider=Microsoft.ACE.OLEDB. 12 . 0 ;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392350
xen2SOFT FOR YOUа зачем вам это пониматьесли честно - сомневаюсь в правильности постановки задачи

У него очень простая задача. Он уже начал писать свой чудо компонент на ассемблере, чтоб
XLSX файлы делать. Все остальное он будет "тупо скипать" как не относящееся к обоснованию
его задачи (XLSX на ассемблере).

Все, что его может спасти - это БЕСПЛАТНЫЙ компонет на ассемблере. Уже готовый.

Другие варианты отметаются.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392375
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
надеюсь, он хоть не рассчитывает после этого сказочно обогатиться на продажах своего чудо-компонента :D
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392378
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотя ник настораживает
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392379
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
На самом делеxen2пропущено...
если честно - сомневаюсь в правильности постановки задачи

У него очень простая задача. Он уже начал писать свой чудо компонент на ассемблере, чтоб
XLSX файлы делать. Все остальное он будет "тупо скипать" как не относящееся к обоснованию
его задачи (XLSX на ассемблере).

Все, что его может спасти - это БЕСПЛАТНЫЙ компонет на ассемблере. Уже готовый.

Другие варианты отметаются.

Достаточно поглядеть, в каких темах он был активен ДО того, как начал писать в тему по Delphi:

автор Microsoft Office 18 40,91%
Visual Basic 16 36,36%
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392390
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старперы радуютfd00chпропущено...
Вопрос - зачем все данные держать в оперативке? Нормальные БД такое количество "ячеек" могут и хранить, и обрабатывать на обычных компах

Excel держит данные в памяти. Речь шла о нем, а не о БД.Память - она виртуальная, со всеми вытекающими последствиями.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392399
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну, если автор переползает с VB на Дельфи или хотя бы смотрит в эту сторону, я думаю, ему могло бы быть гораздо интереснее написать автономную БД-аппликуху как полную замену всего того, что сейчас в экселе

мне вот мою первую БД в Дельфи было очень даже прикольно писать
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392403
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Не точно. Либо готовить OLE не умеешь.
Вставка ста тысяч записей через OLE занимает полсекунды примерно.
Чуть позже тест выложу.


я разрабатываю софт на машине с Office 2003. И там OLE работает с удовлетворительной скоростью. На целевых компах стоит Office 2007 и там чтение/запись по OLE ОЧЕНЬ долгая. Единственный нормальный выход - работать с VarArray. Несколько секунд чтение/несколько секунд запись. Но это если просто данные. А если добавлять комментарии, менять стили, копировать из одного в другое - долго. Если xlsx файл занимает 40-50мб (расжатый - 120) то чтение и запись его может длиться минутами. Особенно если параллельно запущены ещё несколько Excel книг, Word и Outlook.

Недавно делал отчёт. По OLE на моей машине работает 40 минут, на целевой - 2 часа. Крайне минимизировал чтение/запись - получилось минут 15. По VarArray укладываюсь в минуту. Хочу 3 секунды
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392411
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2SOFT FOR YOUа зачем вам это пониматьесли честно - сомневаюсь в правильности постановки задачи

от вас требуется конкретика по уже поставленной задаче
сомневаться в поставленной задаче - не ваша прерогатива )
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392414
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUя разрабатываю софт на машине с Office 2003. И там OLE работает с удовлетворительной скоростью. На целевых компах стоит Office 2007 и там чтение/запись по OLE ОЧЕНЬ долгая. Единственный нормальный выход - работать с VarArray

Именно так и только так.

SOFT FOR YOUА если добавлять комментарии, менять стили, копировать из одного в другое - долго

Заранее делают ШАБЛОН в Excel, и всё. Далее в проге только льют данные.

SOFT FOR YOUНедавно делал отчёт. По OLE на моей машине работает 40 минут, на целевой - 2 часа. Крайне минимизировал чтение/запись - получилось минут 15. По VarArray укладываюсь в минуту. Хочу 3 секунды

Если у тебя Excel 2003, то бери FlexCel.
Ничего лучшего на сегодняшний день пока нет.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392424
defecatorЕсли у тебя Excel 2003, то бери FlexCel.
Ничего лучшего на сегодняшний день пока нет.

Сказочная, ничем не обоснованная глупость.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392432
SOFT FOR YOUНедавно делал отчёт. По OLE на моей машине работает 40 минут, на целевой - 2 часа. Крайне минимизировал чтение/запись - получилось минут 15. По VarArray укладываюсь в минуту. Хочу 3 секунды

Тебе уже говорили про NativeExcel. Там даже интерфейсы классов копируют процедуры и функции MS Excel VBA.

Фактически - только uses поменять, даже код не надо будет переписывать (сильно).

Но нет, тебе ведь так не интересно, да? Хочется самому себе создать трудности и мужественно их преодолеть?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392446
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

у меня другая специфика
я не работаю с отчётами по шаблонам, не выгружаю из БД. Я работаю с отчётами Excel, которые выгрузились из Oracle business suite.
И вот эти огромные отчёты я перерабатываю и вывожу в какой-то другой вид

соответственно:
- большие объёмы данных
- нужно быстрое чтение
- нужна быстрая запись

А на 2007 перехожу потому что всё к этому идёт, у всех бухгалтеров уже xlsx и мне отчёты поступают в таком формате. Я так пока оставил для совместимости, но скоро буду работать только на 2007. Только xlsx/xlsm
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392456
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле,

мне уже говорили про Native Excel и я благодарен за эту информацию
дальнейшие мои мотивы - моё дело и тема по прежнему открыта. Если кому то интересен такой проект, потому что скорость ПРИНЦИПИАЛЬНО ВАЖНА, то можно объединить усилия. Один я всё это делать не буду

по поводу Native Excel
для маленьких отчётов или если проект реализовать ни с кем не получится - буду использовать его или аналоги. В нём делается акцент на удобство - и это замечательно. Я хочу сделать акцент на скорости в ущерб удобности
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392458
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOUот вас требуется конкретикане могу гарантировать, что выполню требования
но я таки пытаюсь Вам помочь (допустим, решить стоящую перед Вами задачу, а не ту, которую Вы здесь ставите нам)

поэтому все-таки хотелось бы получить ответ на мой вопрос:xen2SOFT FOR YOUExcel открывается/сохраняется долго.а вот здесь Вы что имели в виду?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392474
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
На самом делеdefecatorЕсли у тебя Excel 2003, то бери FlexCel.
Ничего лучшего на сегодняшний день пока нет.

Сказочная, ничем не обоснованная глупость.

Твоя, ага
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392475
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOUЯ работаю с отчётами Excel, которые выгрузились из Oracle business suiteо!
дык сразу встает вопрос, а нельзя ли в другом формате оттудова выгружать (DBF, не-офисный-XML, CSV, наконец)?

а самому генерировать и XLSX можно, все проще, если читать не XLSX
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392479
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2,

автора вот здесь Вы что имели в виду?

Код: plaintext
1.
2.
3.
4.
5.
App := CreateOleObject('Excel.Application');
Workbook := App.Workbooks.Open(FileName);

Workbook.SaveAs(FileName_2);
Workbook := Unassigned;
App := Unassigned;
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392483
SOFT FOR YOUто можно объединить усилия. Один я всё это делать не буду

Тут есть сумасшедшие, да, но не настолько способные. Способные давно уже погибли в результате естественного отбора.

SOFT FOR YOUЯ хочу сделать акцент на скорости в ущерб удобности

Знаешь, зачем нужны начальники программистов? Чтобы брать бесполезные задачи, которые
понаставят себе программисты, и делать из них не идиотские, а полезные для бизнеса.

Неидиотская задача - это изучить OEBS, и увидеть, что он (Oracle Reports и Oracle XML Publisher)
может выводить отчеты в формат XML или HTML (которые можно обрабатывать средствами вроде SAX).

Понимаешь, о чем речь?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392484
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2,

автордык сразу встает вопрос, а нельзя ли в другом формате оттудова выгружать (DBF, не-офисный-XML, CSV, наконец)?
я понимаю ваше желание найти вокруг дебилов
но всё же нет. задача такая какая есть.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392486
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле,

К вам предыдущий пост тоже относится
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392512
xen2SOFT FOR YOUЯ работаю с отчётами Excel, которые выгрузились из Oracle business suiteо!
дык сразу встает вопрос, а нельзя ли в другом формате оттудова выгружать (DBF, не-офисный-XML, CSV, наконец)?

а самому генерировать и XLSX можно, все проще, если читать не XLSX

Не забывай - у него нет задачи порешать вопрос отчетов. Он себе задачу уже поставил - написать на ассемблере нечто, что будет парсить и генерить XLSX.

Самому написать (вернее уже в составе группы себе подобных, т.к. уже примерно начинает
догонять, какой объем работы ему предстоит, наверное почитал спецификацию на OOXML, вернее
посмотрел, сколько там страниц).


SOFT FOR YOUотносится

Дурак, который понимает, что он дурак - уже считай что наполовину гений (с)
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392516
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOUя понимаю ваше желание найти вокруг дебилов
но всё же нет. задача такая какая есть.дык это как раз решило бы проблему поиска дебилов - они таким образом найдены

к сожалению, у меня нет такого желания

а Вам - успехов в поиске дебилов, которые согласятся впрячься в Ваш "проект"!
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392604
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU, ты какую информацию хочешь читать/писать из/в XLSX? Если только данные ячеек + их визуальное форматирование - то для максимальной проще всего поискать библиотеку, разумеющую работу с новым форматом. Писать её самому - это чистой воды бред.

Потому лучше поюзай демки существующих продуктов на предмет скорости и поддержки нужного оформления ячеек при чтении/записи. До кучи посоветую обратить внимание еще на http://libxl.com/ Если будешь тестить её - отпиши, плиз, о результатах.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392609
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а бабояга против
напиши
пусть оно окажется не только быстрым но и удобным и всех порвет
потом будешь продавать и радоваться
желаю удачи
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392614
fd00ch отпиши, плиз, о результатах.

Enterprise license + source - $2199

Ты чо? Чуваки вон еле еле наскребли два-три мегабакса на OEBS, так что теперь даже $50 не могут теперь найти.
А ты им за $2200, да еще без НДС втюхиваешь.

Да и не на ассемблере написано, на C++ (который тормознее Java, это все знают).
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392643
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vavanпотом будешь продавать и радоватьсятолько для начала придётся работу бросить)

На самом деле, я вижу там только одну цену - 199$, вполне вменяемо для подобной либы, я бы даже сказал дешево. в исходники такого чуда всё равно лазить не будешь (говорю так, имея TXLSFile с исходниками)))
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392661
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00chтолько для начала придётся работу бросить
да ладно, может он молодой и способный, а не старый ворчливый пердун как мы к-е тут в основном трутся, поучая и брюзжа
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392663
fd00chНа самом деле, я вижу там только одну цену - 199$, вполне вменяемо для подобной либы

Надо быть абсолютно невменяемым, чтобы купить либу без исходников у какого-то левого поствщика, который через год-два радостно самоликвидируется.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392673
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом делеНадо быть абсолютно невменяемым, чтобы купить либу без исходников у какого-то левого поствщика, который через год-два радостно самоликвидируется
в кассу
но блин это ж почти всегда так, никому верить нельзя
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392812
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом делеНадо быть абсолютно невменяемым, чтобы купить либу без исходников у какого-то левого поствщика, который через год-два радостно самоликвидируется.Ну и че, ликвидируются - либа работать перестанет что ли? Всё, что надо - там уже есть. Чего нет - ты дописывать не будешь даже при наличии исходников, обосрёшься в самом начале (как и разработчики)). Конкретно эта либа уже несколько лет на рынке, последний апдейт - 4 дня назад.

Взяв за аналог тот же TXLSFile - купил его только в этом году, прекрасно понимая, что разработчик не собирается его в дальнейшем поддерживать (про поддержку XLSX можно даже и не мечтать). Менять что-то в уже сущствующем функционале даже в голову не приходило (причина та же: всё, что надо - работает, а прикручивать поддержку графиков или ещё какой фичи - нафиг надо, я лучше в команду ТСа затесаюсь, буду на асме парсер XML писать)))
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392896
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я открыл для себя nexcel
program Project1;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 uses 
  Windows, SysUtils, SysUtilsEx, nexcel;


 var 
  W: TXLSWorkbook;
  T1, T2, T3: dword;
 begin 
  W := TXLSWorkbook.Create;
  
  T1 := GetTickCount;
  W.Open('D:\Работа\Универсальный налог. Отчёт\Имущественный налог\OracleToExcel\Отчёт.xls');
  T1 := GetTickCount-T1;
  
  T2 := GetTickCount;
  W.SaveAs('out.xls', xlExcel97);
  T2 := GetTickCount-T2;
  
  T3 := GetTickCount;
  W.Free; 
  T3 := GetTickCount-T3;
  
  ShowMessage('Загрузка - %d, Сохранение - %d, Деструктор - %d', [T1, T2, T3]);
 end .

Плевать на то что exe-шник занимает мегабайт - фигня. Взял простой файл 36мб, в формате Excel2003. Результат следующий:
Загрузка - 12 секунд
Сохранение - 3
Деструктор - 1

Я считаю это долго. Памяти жрётся немеряно. Стал сохранять в xlOpenXMLWorkbook - не дождался.
Файл в 120мб не стал рисковать открывать.
Кстати out.xls занимает 20мб. Если ничего не теряется - то прикольно )
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392897
fd00chНа самом делеНадо быть абсолютно невменяемым, чтобы купить либу без исходников у какого-то левого поствщика, который через год-два радостно самоликвидируется.Ну и че, ликвидируются - либа работать перестанет что ли?
Специально для тех, кто из детсадика: работать может и не перестанет, а вот в какой Delphi 2018 for 128 bit/Mac OS X Mamont - вдруг внезапно не станет линковаться.

Так и будешь, на Delphi7/Win32 какой сидеть?
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392924
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле, слив не засчитан. 32/64 бита там есть, в ближайшие 6-7 лет ничего нового на эту тему не планируется, я гарантирую это :-) как и прекрасную обратную совместимость программ под виндой.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392957
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUdefecator,

Не точно. Либо готовить OLE не умеешь.
Вставка ста тысяч записей через OLE занимает полсекунды примерно.
Чуть позже тест выложу.


я разрабатываю софт на машине с Office 2003. И там OLE работает с удовлетворительной скоростью. На целевых компах стоит Office 2007 и там чтение/запись по OLE ОЧЕНЬ долгая. Единственный нормальный выход - работать с VarArray. Несколько секунд чтение/несколько секунд запись. Но это если просто данные. А если добавлять комментарии, менять стили, копировать из одного в другое - долго. Если xlsx файл занимает 40-50мб (расжатый - 120) то чтение и запись его может длиться минутами. Особенно если параллельно запущены ещё несколько Excel книг, Word и Outlook.

Недавно делал отчёт. По OLE на моей машине работает 40 минут, на целевой - 2 часа. Крайне минимизировал чтение/запись - получилось минут 15. По VarArray укладываюсь в минуту. Хочу 3 секунды
VarArray 3 секунды, из которых 2.5 уходит на загрузку и инициализацию Офиса 2003
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392964
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Podgoretsky,

анатолий, при всём уважении - я не дебил
я говорю свои данные
реальные ячейки, строки, реальный отчёт
если бы скорость не была бы такой удручающей - не было бы данного сообщения на форуме
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392972
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUА на 2007 перехожу потому что всё к этому идёт, у всех бухгалтеров уже xlsx и мне отчёты поступают в таком формате. Я так пока оставил для совместимости, но скоро буду работать только на 2007. Только xlsx/xlsm
Идет к 2010 и далее
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392980
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly PodgoretskyVarArray 3 секунды, из которых 2.5 уходит на загрузку и инициализацию Офиса 2003
Это в режиме СОМ сервера, не в любимом OLE
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37392992
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Podgoretsky,

у меня чтение таблицы занимает около 5 сек и запись таблицы около 5 сек
секунд 12 на открытие, секунд 15 на сохранение
пару секунд моя обработка - вот и 40 секунд всей работы

я думаю нет большой разницы по присвоению/считыванию VarArray в режиме OLE или COM
поправьте если ошибаюсь
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37393009
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLE обертка над COM, значит по определению.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37393099
fd00chНа самом деле, слив не засчитан. 32/64 бита там есть, в ближайшие 6-7 лет ничего нового на эту тему не планируется, я гарантирую это :-) как и прекрасную обратную совместимость программ под виндой.

Твои гарантии не стоят абсолютно ничего. Как, впрочем, и все остальные твои ценные и не очень мысли.
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #37393309
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly PodgoretskyOLE обертка над COM, значит по определению.

в данном случае не играет роли
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Есть идея работать над дьявольски быстрым генератором XLSX
    #40011833
BasilCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00ch,
"На самом деле, я вижу там только одну цену - 199$, вполне вменяемо для подобной либы, я бы даже сказал дешево. в исходники такого чуда всё равно лазить не будешь (говорю так, имея TXLSFile с исходниками )))"

Заделись. Я разберусь. На basil_cat @ ukr . net
...
Рейтинг: 0 / 0
Есть идея работать над дьявольски быстрым генератором XLSX
    #40011837
BasilCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00ch,
"На самом деле, я вижу там только одну цену - 199$, вполне вменяемо для подобной либы, я бы даже сказал дешево. в исходники такого чуда всё равно лазить не будешь (говорю так, имея TXLSFile с исходниками )))"

Заделись. Я разберусь. На basil_cat @ ukr . net
...
Рейтинг: 0 / 0
112 сообщений из 112, показаны все 5 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Есть идея работать над дьявольски быстрым генератором XLSX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]