gifts2017

Сохранение ТЗ в Excel через COM

Опубликовал Лев Русаков (LevRusakov) в раздел Обмен - Загрузка и выгрузка в Excel

Требует установленного Excel. Рисуется заголовок, сохраняется в xlsx для Excel 2007, Также для Excel 2007 возможно сохранение больших таблиц (более 65536 строк). В целом работает для больших таблиц быстрее, чем сохранение табличного документа в .xls средствами платформы.

Передается всего два параметра - Собственно ТаблицаЗначений и путь к файлу Excel. Также может служить примером использования COMSafeArray совместно с Excel.

Скачать файлы

Наименование Файл Версия Размер
Обработка с примером использования 169
.epf 8,00Kb
19.10.10
169
.epf 8,00Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Валерий Гайдабура (director04) 19.10.10 17:36
Еще не тестировал, но штука завсегда полезная. Плюсону...
2. Andrey Schiokin (Skif46) 19.10.10 23:16
Добавь в примечании, что в системе должен быть установлен седьмой офис.
3. Лев Русаков (LevRusakov) 20.10.10 09:26
В описание добавил. Хотя в названии написано, что работает через COM-соединение :|
4. Ivon (Ivon) 20.10.10 13:04
Еще быстрее можно делать через ADO.Net.
Вот есть статья http://infostart.ru/public/65045/
5. Лев Русаков (LevRusakov) 20.10.10 13:48
Не спорю, что быстрее. Но в этой конкретной обработке "полный фарш" с названием столбцов ТЗ и подкрашиванием. А ещё С помощью того же COMSafeArray можно и в другую сторону делать, т.е. читать большими кусками из Excel, в том числе и большие файлы из 2007го. Сам делал обработку корректировки таблиц 80-120 тыс. строк. Из файла читалось около 10ти колонок, 2 добавлялись новые и некоторые значения в существующих менялись. Работала на удивление быстро - запуск Excel и сохранение измененнного файла занимали значительно бОльшую часть времени, чем собственно перенос данных и обработка.
6. rainscald (rainscald) 26.10.11 15:10
7. Ийон Тихий (cool.vlad4) 26.10.11 15:12
(4) ADO.Net и ADO это разные вещи
8. Ivon (Ivon) 26.10.11 15:18
(7). Согласен. В примере используется ADO, но я у себя cделал на ADO.Net выгрузку в mdb для Access. А вообще, зная строку подключения с помощью ADO.Net можно выгружать чуть-ли не во что угодно. Строки можно посмотреть здесь http://www.connectionstrings.com/
9. Александр (AlexandrRo) 26.10.11 15:22
Протестил и использовал. Рекомендую !
10. A V (ann_ver) 26.10.11 15:23
11. rainscald (rainscald) 28.12.11 14:18