|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Решаю задачу: быстрая выгрузка данных из веб-сервиса (DataTable) в Excel (VBA, ADODB.Recordset) Для быстрой загрузки XML в ADODB.Recordset необходимо получить XML следующем виде, включая xmlns, ElementType и AttributeType: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
пробовал так - нужные описания не выводит Код: c# 1. 2. 3.
загрузка XML в ADO.dataset в VBA выглядит так Код: vbnet 1. 2.
ЗЫ: конечно, при указании XmlWriteMode: WriteSchema описания полей выводятся, но ADO их всё равно не понимает ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 16:55 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Если не трудно, приложи, фрагмент XML, выгруженный функцией data.WriteXml(). А решением может быть применение XSLT. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 18:23 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
http://geekswithblogs.net/AnneBougie/archive/2009/07/02/create-an-adodb-recordset-from-xml.aspx хотя если структура DataTable статична, я бы схему рекордсета зашил бы в XSLT-шаблон, дальше - сохраняем DataTable в XmlDocument, и применяем к нему XSLT - как-то так: Код: c# 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.
XSLT (хранится в Properties.Resources.Transform): Код: xml 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.
XML на выходе: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 18:45 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Несколько отчетов в экселе (50) Под каждый - хранимка в бд возвращает набор строк. Авторизацию в бд на каждого юзверя не дают. Может, подскажете лучший вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 19:37 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Еще можно приреференсить к проекту ADODB, залить в рекордсет DataTable, и сохранить его в XML: https://www.codeproject.com/Articles/10503/Simplest-code-to-convert-an-ADO-NET-DataTable-to-a ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2017, 05:45 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныЕще можно приреференсить к проекту ADODB, залить в рекордсет DataTable, и сохранить его в XML: https://www.codeproject.com/Articles/10503/Simplest-code-to-convert-an-ADO-NET-DataTable-to-a начал смотреть в эту сторону: Код: c# 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.
вроде получается ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2017, 14:01 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
andreymx Код: c# 1.
подскажите, коллеги как этот сформированный XML корректно вернуть web-service'ом? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2017, 14:59 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
andreymxandreymx Код: c# 1.
подскажите, коллеги как этот сформированный XML корректно вернуть web-service'ом?вернуть как результат выполнения метода, имеющего строковый тип, например. или тип байтового массива. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2017, 15:14 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Вместо FileName можно использовать ADODB.Stream, из которого этот байтовый массив легко извлекается. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2017, 15:15 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Строку я думал... Насчёт ресурсоёкости как оно будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2017, 16:18 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
andreymx, А тебе действительно надо в Эксель? Можно же в HTML, который эксель скушает потом. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2017, 18:40 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
andreymxСтроку я думал... Насчёт ресурсоёкости как оно будет?Ну это ж xml. Если сохранять в бинарный ADTG, то объем меньше будет и сохранение/загрузка быстрее, нет нужды в/из xml перегонять. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2017, 18:44 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Cat2andreymx, А тебе действительно надо в Эксель? Можно же в HTML, который эксель скушает потом.мне из веб-сервиса в эксель в рекордсет данные перегнать. Буду рад хорошему примеру ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2017, 18:50 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
andreymxначал смотреть в эту сторону: вроде получается Какая-то операция на гланды через то место, куда никогда не заглядывает солнце. Файл экселя через рекордсет загнать в XML, чтобы XML отдать веб-сервисом, чтобы клиент снова загнал XML в рекордсет, и от рекордсета снова получил Excel? Начать можно с того, что если в ваших экселях нет эксклюзивных свистелок от версии 2007 и выше, то файл экселя прекрасно сохраняется в свой собственный XML (SpreadsheetML), и прекрасно, бех каких-либо лишних телодвижений, открывает такой XML. Более того, для генерации таких XML вовсе не обязателен сам Excel - достаточно входных данных в виде XML (такие данные может предоставлять, например, запрос от SQL Server или от оракла)+XSLT - у нас энное количество сервисов так генерит вложения для почтовых рассылок по результатам своей отработки. Краткий пример по формированию такого XML можно посмотреть здесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 06:11 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Эксель был приведён только как пример источника данных, т.к. дома у меня других нет. А задача - передать набор данных из веб-сервиса в эксель. В рекордсет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 08:25 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Веб-сервис твой? Файл экселя твой? Рекордсет нужен для экселевского CopyFromRecordset? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 12:02 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
AntonariyВеб-сервис твой? Файл экселя твой? Рекордсет нужен для экселевского CopyFromRecordset?да Да И для этого тоже ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 13:33 |
|
сформировать XML для последующей загрузки в ADO/VBA
|
|||
---|---|---|---|
#18+
Самый простой способ имхо на сервере создать "универсальный обработчик" (*.ashx) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
На клиенте: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 17:26 |
|
|
start [/forum/topic.php?fid=20&fpage=47&tid=1400036]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 414ms |
0 / 0 |