|
|
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
Автор, очевидно, строго ограничен форматом 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, но ведь это уже вторая, отдельная задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 07:27 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
еще "for large or complex workbooks" в цитате забыл жирным выделить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 07:31 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
xen2я бы на его месте все же проверил бы варианты BIFF12, SYLK и, для полноты, HTMLв смысле, хотя бы на время открывания Экселем протестировал (и, для последних двух, на способность преодоления границы в 64К строк) - жаль что сам сейчас не могу xen2здесь ошибка и ".xls" - это всегда BIFF8 или старее?да, в другом месте Микрософт так и пишет (XLSX = BIFF12, XLS = BIFF8 or BIFF5) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 07:43 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
*xlsb=biff12 (сорри, проснулся не до конца) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 07:55 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
XLSX - это всегда XML-формат файла, XLSB - это бинарный формат файла, BIFF12 XLS - это всегда BIFF8 По крайней мере, так по умолчанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 09:44 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
defecator, я-то уже сам понял, но спасибо кстати, XLSB/BIFF12 - тоже зазипованная кучка файлов, так что то, что Эксель будет открывать его быстрее всех остальных вариантов - под вопросом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 10:05 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
defecatorТолько поддержка в FlexCel VCL НЕ реализована для XLXS. Это есть только в версии FlexCel .Net это да, пока только ожидается а в остальном сколько я помню flex самый самый :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 10:07 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
xen2Автор, очевидно, строго ограничен форматом XLSX (или сам себя ограничил?) Кроме этого ограничения - генерация самим MS Office, а не сторонними прогами + кодировка utf-8(рус). Связанно с тем что: - все у нас на работе пользуются этим форматом - самые большие xml (листы, shared strings) наглядны и позволяют распарсиваться и сохраняться без типичного xml парсера, а значительно быстрее - xml понятны, и разобраться в них проще чем в других А жёсткая ориентация - только для быстрейшей (как я уже сказал "дьявольской") оптимизации. Предстоит обработка миллионов ячеек и я хочу обрабатывать их за пару секунд, а не минут. Открывать, обрабатывать, сохранять, закрывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 10:11 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
xlsb/biff12, неофиц. описание и код на c++/c#: http://www.arstdesign.com/articles/office2007bin.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 10:11 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUОткрывать, обрабатывать, сохранять, закрыватьах, вот оно что а экселевский макрос с этим не справится? ведь тогда, считай на времени открытия/сохранения можно сэкономить - то есть не сохранять и не открывать, результат-то человек ведь хочет увидеть, который в экселе работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 10:18 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
ну и как бы напрашивается идея вместо того, чтобы подставлять костыли Экселю, сделать свою автономную программу с базой данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 10:24 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
xen2ах, вот оно что а экселевский макрос с этим не справится? Excel открывается/сохраняется долго. Макросы в многих случаях использовать неудобно - проще аналитику и анализ данных делать в Delphi. Да и быстрее. Ну а с данными Excel-я быстрее работать через VarArray чем обращаться к ячейкам внутри макроса. Так что ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 10:34 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, я просто суть вашего "потока данных" и последовательности работы людей с ним не понял то есть, человек набивает данные, сохраняет файл, он где-то себе лежит (долго-долго), ваша программа его открывет-обрабатывает-сохраняет (быстро-быстро), потом он опять лежит, пока его человек не захочет в экселе открыть что-то такое вырисовывается, но как-то очень странно выглядит мне представляется такой вариант: человек забил данные, и ему сразу нужен результат, он нажал кнопочку и получил его в этом же открытом документе, ничего не сохраняя и не открывая это совсем не то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 10:46 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUс данными Excel-я быстрее работать через VarArray чем обращаться к ячейкам внутри макросавы точно проверили, что вариант с OLE-обменом информацией будет медленнее, чем хотя бы просто сохранение и открытие XLSX в Экселе плюс время обработки в вашей программе-обработчике даже без открытия и сохранения ей XLSX?? (впрочем, примерную оценку для времени открытия/сохранения стоит сделать и приплюсовать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 10:53 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
>я просто суть вашего "потока данных" и последовательности работы людей с ним не понял а зачем вам это понимать >вы точно проверили, что вариант с OLE-обменом информацией будет медленнее точно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 11:00 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU >я просто суть вашего "потока данных" и последовательности работы людей с ним не понял а зачем вам это понимать >вы точно проверили, что вариант с OLE-обменом информацией будет медленнее точно Не точно. Либо готовить OLE не умеешь. Вставка ста тысяч записей через OLE занимает полсекунды примерно. Чуть позже тест выложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 11:02 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUExcel открывается/сохраняется долго.а вот здесь Вы что имели в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 11:18 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUа зачем вам это пониматьесли честно - сомневаюсь в правильности постановки задачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 11:21 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
вот ещё можно попробовать: http://connectionstrings.com/excel-2007 Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 11:26 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
xen2SOFT FOR YOUа зачем вам это пониматьесли честно - сомневаюсь в правильности постановки задачи У него очень простая задача. Он уже начал писать свой чудо компонент на ассемблере, чтоб XLSX файлы делать. Все остальное он будет "тупо скипать" как не относящееся к обоснованию его задачи (XLSX на ассемблере). Все, что его может спасти - это БЕСПЛАТНЫЙ компонет на ассемблере. Уже готовый. Другие варианты отметаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 11:56 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
надеюсь, он хоть не рассчитывает после этого сказочно обогатиться на продажах своего чудо-компонента :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 12:07 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
хотя ник настораживает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 12:09 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
На самом делеxen2пропущено... если честно - сомневаюсь в правильности постановки задачи У него очень простая задача. Он уже начал писать свой чудо компонент на ассемблере, чтоб XLSX файлы делать. Все остальное он будет "тупо скипать" как не относящееся к обоснованию его задачи (XLSX на ассемблере). Все, что его может спасти - это БЕСПЛАТНЫЙ компонет на ассемблере. Уже готовый. Другие варианты отметаются. Достаточно поглядеть, в каких темах он был активен ДО того, как начал писать в тему по Delphi: автор Microsoft Office 18 40,91% Visual Basic 16 36,36% ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 12:09 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
Старперы радуютfd00chпропущено... Вопрос - зачем все данные держать в оперативке? Нормальные БД такое количество "ячеек" могут и хранить, и обрабатывать на обычных компах Excel держит данные в памяти. Речь шла о нем, а не о БД.Память - она виртуальная, со всеми вытекающими последствиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 12:15 |
|
||
|
Есть идея работать над дьявольски быстрым генератором XLSX
|
|||
|---|---|---|---|
|
#18+
ну, если автор переползает с VB на Дельфи или хотя бы смотрит в эту сторону, я думаю, ему могло бы быть гораздо интереснее написать автономную БД-аппликуху как полную замену всего того, что сейчас в экселе мне вот мою первую БД в Дельфи было очень даже прикольно писать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2011, 12:18 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=37392269&tid=2037906]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
190ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 531ms |

| 0 / 0 |
