|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
Добрый день. У меня есть программа, написанная на visual basic 2013. Эта программа работает с базой данных Oracle. Возникла необходимость формировать из программы большие отчеты (порядка 100-200 тыс строк) в excell. Смысл в следующем, есть шаблонный файл, в котором есть шапка и помечены ячейки, в которые должны попадать данные. Нужно взять этот шаблон и заполнить данными вытащенными из базы при помощи sql запроса. Создавать подключение из фала не годится, т.к. файл после формирования должен быть абсолютно автономно. Может у кого-нибудь есть опыт в данной области? Поделитесь, пожалуйста, опытом, кодом и советами!!! Посоветовали рыть в стороны office open xml, но я что-то пока не нашел нормальных примеров. И не очень понял смысл работы с ним. Может есть достойная альтернатива или есть примеры работы с open xml? Буду очень признателен за участие и помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 09:08 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
Karlusальтернатива генераторы отчётов - любые ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 09:16 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
Забыл добавить, программа сетевая. Запускается на большом количестве компьютеров. Поэтому желательно не использовать сторонний софт. ИзопропилKarlusальтернатива генераторы отчётов - любые Какой генератор лучше использовать? Может есть примеры интеграции? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 10:00 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
Karlus, SSRS, если Microsoft для вас не сторонний софт)) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 11:10 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
SerP1983Karlus, SSRS, если Microsoft для вас не сторонний софт)) А есть примеры интеграции SSRS в проект visual studio? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 14:11 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
Karlus, гуглите по словам RDLC ReportViewer winforms (или что там у вас за клиент)... Не уверен, что держать SSRS имеет смысл. Возможно локального процессинга вам хватит. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 19:03 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
buserKarlus, гуглите по словам RDLC ReportViewer winforms (или что там у вас за клиент)... Не уверен, что держать SSRS имеет смысл. Возможно локального процессинга вам хватит. Спасибо, попробую посмотреть в этом направлении. Если немного видоизменить задачу. В Visual Basic есть двумерный массив с данными (100,50). Какими средствами его можно запихнуть в Excel? На данный момент использую: Код: 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.
Но данный метод медленно заполняет екселевский лист. Может есть другие предложения? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 19:20 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
Karlusмедленноподготовить массив в памяти и вставить целиком. Это в разы быстрее, чем перебирать по одной ячейке. Также помогает отключение обновления экрана (если эксель видимый) и пересчета формул (если на ячейки ссылаются формулы) на время выполнения скрипта ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 19:25 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
Shocker.Proподготовить массив в памяти и вставить целиком. Это в разы быстрее, чем перебирать по одной ячейке. А есть пример как подготовить массив в памяти и вставить целиком? Остальное понял, переделаю ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 19:40 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
А какой тут пример-то нужен? Код: c# 1. 2. 3. 4. 5. 6.
И, да. Никогда не работайте с активной книгой или выделением - чревато - FAQ ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 19:47 |
|
Формирование excell из шаблона
|
|||
---|---|---|---|
#18+
Karlus, Пользую NPOI. Читает/пишет напрямую в файл XLS, без обращений к EXCEL. Библиотека свободная, примеры кода присутствуют. Из плюсов - пишет быстро (в некоторых случаях EXCEL дольше открывает этот файл, чем программа записывает). Из минусов - при очень большом количестве записываемых в XLS данных "заваливается" - видимо по нехватке памяти. С этим столкнулся один раз - пытался выгрузить в XLS сильно более 100 000 строк из базы. Потом переосмыслили ситуацию и решили что оно и не надо - насиловать XLS и глаза пользователей. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 05:53 |
|
|
start [/forum/topic.php?fid=20&msg=38893059&tid=1401847]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 377ms |
total: | 509ms |
0 / 0 |