|
|
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Написать прогу, конечно, можно всегда, но по трудозатратам и качеству результата все будет хуже, чем при использовании Эксела. Я уже пробовал использовать покупные таблицы для организации веб-интерфейса, но получилось, что там многих нужных функций нет - автозаполнение и т.п. Реализовывать все это самостоятельно не очень-то хочется, проблем и так хватает. Даже основные функции Эксела долго реализовывать самостоятельно. Интерфейс нужен в виде электронной таблицы. Никаких сверх-требований вроде нет, просто используются основные возможности Эксела - шрифты, стили, примечания. Вещи все стандартные, просто данные передаются с помощью сети, ну и, может, примечаний много. А так все обычно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 17:14 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
motorwayТ.е. вы имеете в виду перезапись - вместо текущего файла подставляется XML сгенерированный? Генеришь xml-файл, огрызок содержания которого привел Antonariy , далее открываешь его Excel-ем (можно при этом сделать окончательную доводку, если нужно) и сохраняешь в нужном формате. Кстати, давно было, но вроде если эту xml-ку переименовать в xls и запустить, то Excel ее вполне нормально откроет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 17:31 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Все-таки, наверно, буду пытаться пока без xml ускорить все это дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 18:16 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
А есть ли возможность использовать не VBA, а что-нибудь более быстрое для обновления ячеек и примечаний? Может, dll как-то использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 18:39 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Просто вы говорите о 20000 ячеек. Причем каждая может быть оформленна индивидуально. А это все время. Одно дело 100 000 ячеек заполнять как предлагал AndrF Код: plaintext одинаковый формат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. цветовой градуировкой и спрятанными примечаниями, и при этом время обновления настолько критично, что пару минут уже много? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 18:45 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Собственно, различные цвета и стили ячеек сейчас сделаны просто для удобства работы с большой моделью. При финансовых вычислениях часто по-разному выделяются конкретные ячейки, чтобы было понятнее. Но это как раз не предполагается менять. В основном я планировал менять цвет шрифта у изменившихся после вычислений ячеек, чтобы было видно, какие изменились. Потому что в большой таблице это отслеживать трудно. Примечания меняются не так часто, но иногда это нужно делать, а при этом ждать больше 30 секунд уже напряг. У меня просто так реализовано всё, что в примечаниях хранится доп. информация, которую нельзя поместить в ячейку сразу, так как там может быть уже число какое-то. Т.е., как бы еще одно измерение. Вручную пользователь обычно менять будет гораздо меньше, чем 20000 примечаний, но иногда, например при удалении строк, примечания должны автоматически обновиться для большого числа ячеек. В общем, пользователи будут довольно требовательные, скорее всего. Просто надо исходить из того, что они не привыкли в Экселе долго ждать, а если здесь будет больше ~20 секунд, уже начнутся мысли, стоит ли пользоваться этим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 18:55 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Для измерений есть сводные таблицы, для самих данных есть специальный сервис OLAP называется и там есть свои стратегии хранения данных. Просто я прекрасно понимаю что человек при всем своем желании не сможет быстро даже осмотреть все двадцать тысяч, вообщем я уже говорил что в ексель, большие объемы данных частообновляемых данных лучше брать из БД, а не парсить раз за разом, потом можно пройтись и по рекордсету разукрасить ячейки и понаставить примечания, хотя именно это и будут самые времязатратные действия Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:06 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
motorwayа если здесь будет больше ~20 секунд, уже начнутся мысли, стоит ли пользоваться этим. Сделайте правильный прогресс-индикатор. Это обычно в разы облегчает раздражение пользователя. ЗЫ: Можно выводить случайный анекдот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:09 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Пользоваться системой будут, если получится, не обычные "одиночные пользователи", а люди из фирмы с большими запросами. Так что если такая ситуация будет на первом испытании системы, дальше они даже разговаривать не будут. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:12 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Что касается вариантов с формированием файла xml и последующим открытием. А кто сказал, что подобная операция (включая открытие файла с таким количеством записей) займет меньше 20 секунд?... так что, может и не выход ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:14 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
> Автор: motorway > Пользоваться системой будут, если получится, не обычные "одиночные пользователи", а люди из фирмы с большими > запросами. Так что если такая ситуация будет на первом испытании системы, дальше они даже разговаривать не будут. :) Т.е. у тебя на тестовых данных затык, и нет вариантов как решить, что будет когда за дело примутся motorwayлюди из фирмы с большими запросами.? вообщем пробуй, здесь тебе понакидали идей :) удачи Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:16 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Ну то есть это не шутки, обычные пользователи могут и подождать, а когда подписывается договор с фирмой и т.п., то если качество не устраивает, то и дальше работать не будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:18 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Shocker.ProЧто касается вариантов с формированием файла xml и последующим открытием. А кто сказал, что подобная операция (включая открытие файла с таким количеством записей) займет меньше 20 секунд?... так что, может и не выход Ну мой пример в 50 тыс записей срабатывает где-то за секунду. А вообще приходилось в былые времена видеть Excel-евские файлы открывающиеся минут по 15..20. Где-то в 98-м году примерно - столько тогда в них бухгалтерия напихивала... Интересно - а автору топика действительно Excel-евский файл нужен, а не Grid??? А то гложет сомнение что может он не по той дороге вообще идет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:32 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
AndrFИнтересно - а автору топика действительно Excel-евский файл нужен, а не Grid??? А то гложет сомнение что может он не по той дороге вообще идет... Да как я понял, пользователи потом юзают функционал экселя, так что не выход... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:37 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Shocker.ProAndrFИнтересно - а автору топика действительно Excel-евский файл нужен, а не Grid??? А то гложет сомнение что может он не по той дороге вообще идет... Да как я понял, пользователи потом юзают функционал экселя, так что не выход... Ну если только так... Но и с Excel-ем все решаемо, как оказалось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:39 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Shocker.ProAndrFИнтересно - а автору топика действительно Excel-евский файл нужен, а не Grid??? А то гложет сомнение что может он не по той дороге вообще идет... Да как я понял, пользователи потом юзают функционал экселя, так что не выход... Да, грид я уже пробовал, причем он стоил 800 у.е. Там нет многих вещей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 20:41 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
AndrFКстати, давно было, но вроде если эту xml-ку переименовать в xls и запустить, то Excel ее вполне нормально откроет...Прекрасно откроет и без переименования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 22:11 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
AntonariyAndrFКстати, давно было, но вроде если эту xml-ку переименовать в xls и запустить, то Excel ее вполне нормально откроет...Прекрасно откроет и без переименования. Но если переименовать, то Excel запустится по расширению - я об этом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 23:33 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
AndrFAntonariyAndrFКстати, давно было, но вроде если эту xml-ку переименовать в xls и запустить, то Excel ее вполне нормально откроет...Прекрасно откроет и без переименования. Но если переименовать, то Excel запустится по расширению - я об этом...Я об этом же. Виндовский шелл анализирует не только расширения, но и процессинговые инструкции xml-файлов, если находит <?mso-application progid="Excel.Sheet"?>, то соответственно его ассоциирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 10:21 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Потестировал скорость. Если убрать раскраску ячеек, то время сокращается с 5 мин до 4 мин 46 сек. Если убрать присваивание значений ячейкам, то до 4 мин 30 сек. Видимо, разбор строки занимает большую часть по времени. При этом, если сделать выход из процедуры довольно близко к ее началу, чтобы проверить, сколько занимает это по времени, то даже это делалось около 3 мин 40 сек. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 21:59 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
motorwayВидимо, разбор строки занимает большую часть по времени. ..... Довольно странно, почему это так медленно даже это. Погодите-ка, я же вам давал код БЕЗ ворочанья больших массивов в памяти и вы даже вроде его тестировали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 23:18 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, да, сейчас он есть, но это относится ко второй части кода. А первая вот: Код: plaintext 1. 2. 3. 4. Или я неправильно что-то сделал? У меня же там в начале процедуры это еще есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2010, 01:12 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
Если я правильно понимаю, "~~~END~~~" у вас встречается только один раз Нафига его командой Split обрабатывать, создавая еще один массив в памяти, совершенно бесполезный. Избавьтесь от этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2010, 01:18 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
впрочем... это находится не внутри цикла, конечно может не иметь решающего значния... Я вам предлагал еще на первой странице сделать замер времени, попробуйте, может на этот единичный Split и не так много времени уйдет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2010, 01:19 |
|
||
|
Долгая обработка текстовых данных в Экселе
|
|||
|---|---|---|---|
|
#18+
motorwayДовольно странно, почему это так медленно даже это. Держите код работающий с тем файлом примера что вы прикладывали. Где-то секунда уходит на заполнение. Может создавать листы, если их несколько. Количество колонок - до Z (влом было предусматривать что их может быть больше, так как не в курсе нужно ли)... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2010, 04:26 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36549284&tid=2159730]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 299ms |

| 0 / 0 |
