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

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

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

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

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

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

См. также

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