powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Есть идея работать над дьявольски быстрым генератором XLSX
25 сообщений из 112, страница 4 из 5
Есть идея работать над дьявольски быстрым генератором 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
25 сообщений из 112, страница 4 из 5
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Есть идея работать над дьявольски быстрым генератором XLSX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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