|
Примеры формирования отчета в Excell из visual basic
|
|||
---|---|---|---|
#18+
Доброго времени суток. Помогите, пожалуйста, своими наработками и советами. Стоит задача формировать отчет в excell из программы, написаной на vb. Отчеты получаются достаточно большие по содержанию. Сейчас сделал следующий вариант (см. ниже), но у него есть несколько недостатков: 1. достаточно медленно формируется отчет 2. Если во время формирования сделать активным окно экселя, то выскакивает ошибка. 3. нет прогресс бара при формировании отчета. Область, куда вставлять данные и которую нужно размножать до необходимого количества называю как Lblock1 Ячейки, куда нужно вставлять информацию помечаю примечанием по названию столбца в sql запросе, который возвращает данные для отчета. Может кто поделится своими наработками на данную тему. Очень нужно сделать стабильный и шустрый вариант. Заранее всем огромное спасибо! Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 09:16 |
|
Примеры формирования отчета в Excell из visual basic
|
|||
---|---|---|---|
#18+
Karlus1. достаточно медленно формируется отчета) По возможности формировать массив в памяти и потом вставлять на лист. Это быстрее, чем к каждой ячейке б) Вставлять из БД с помощью CopyFromRecordset в) Избавиться от Select: http://www.sql.ru/faq/faq_topic.aspx?fid=4344 г) Отключать ScreenUpdating на время формирования отчета Karlus2. Если во время формирования сделать активным окно экселя, то выскакивает ошибка.не работать с ActiveWorkbook - Workbooks.Open возвращает ссылку на конкретную книгу. Не работать с Select (см. выше)Karlus3. нет прогресс бара при формировании отчета.Что мешает сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 10:15 |
|
Примеры формирования отчета в Excell из visual basic
|
|||
---|---|---|---|
#18+
Shocker.Proв) Избавиться от Select: http://www.sql.ru/faq/faq_topic.aspx?fid=4344 Спасибо за инфу, сейчас переделаю. Shocker.ProЧто мешает сделать? А вот как это сделать? Взять за 100% количество строк массива и выводить в окно %% заполнения? Тут тогда вопрос как правильно создать это окно сообщения чтобы оно висело над экселем и все время обновлялось? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 10:53 |
|
Примеры формирования отчета в Excell из visual basic
|
|||
---|---|---|---|
#18+
KarlusСпасибо за инфу, сейчас переделаю.переделать надо не только пункт в. Как раз остальные пункты более эффективны. KarlusА вот как это сделать? Взять за 100% количество строк массива и выводить в окно %% заполнения? Тут тогда вопрос как правильно создать это окно сообщения чтобы оно висело над экселем и все время обновлялось?А зачем ему вообще висеть над Экселем? Не показывай вообще Эксель, пока не готов отчет, показывай окно с прогресс-индикатором. Кстати, почему в принципе выбран Interop, а не OpenXML SDK? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 11:02 |
|
Примеры формирования отчета в Excell из visual basic
|
|||
---|---|---|---|
#18+
Shocker.ProКстати, почему в принципе выбран Interop, а не OpenXML SDK? Просто где-то взял пример, т.к. требовалось срочно реализовать формирование отчета. Но, т.к. сейчас размер отчетов и их количество увечилось и все встало на рельсы постоянного использования, вот и решил поспрашивать совета и идей у профессионалов. Может кто поделится идеями, опытом и кодом) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 11:25 |
|
Примеры формирования отчета в Excell из visual basic
|
|||
---|---|---|---|
#18+
Тогда лучше перейти на OpenXML SDK Это если нужно формировать принципиально экселевский файл Если это не принципиально, существует множество движков отчетов ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 11:29 |
|
Примеры формирования отчета в Excell из visual basic
|
|||
---|---|---|---|
#18+
Shocker.ProТогда лучше перейти на OpenXML SDK Это если нужно формировать принципиально экселевский файл Если это не принципиально, существует множество движков отчетов В том-то и дело что отчет нужен именно в эксель формировать. Может есть примеры работы с OpenXML SDK? Начал читать про него, но время время уйдет прилично, насколько я понял) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 11:59 |
|
Примеры формирования отчета в Excell из visual basic
|
|||
---|---|---|---|
#18+
KarlusМожет есть примеры работы с OpenXML SDK? есть, но не здесь, а в форуме по .NET. Здесь обсуждается Visual Basic, а не VB.NET ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 12:05 |
|
Примеры формирования отчета в Excell из visual basic
|
|||
---|---|---|---|
#18+
Спасибо. Попробую там поспрашивать. Если у кого есть примеры на vb по формированию отчетов в excell, поделитесь, пожалуйста. Может найдется альтернативное решение. пока изучаю OpenXML ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2015, 13:24 |
|
|
start [/forum/topic.php?fid=60&msg=38869164&tid=2156052]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 304ms |
total: | 439ms |
0 / 0 |