Показать сообщение отдельно
Старый 06.06.2006, 15:36   #32  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от simply2double
Кстати.. несмотря на мою просто сыновью любовь к технологии ADO еще со времен пописывания на С... я бы не советовал заморачиваться с ним при транспорте в Excel. Во-первых большой скоростью вывода похвалица нельзя... во-вторых придеца морочица с OLE DB провайдерами... то бишь они должны быть
Ну, не знаю... Скорость, по-моему, вполне приличная... Она, может быть, не абсолютно рекордная среди всех методов, но если у меня 60 тысяч записей свалятся в Excel не за 2 минуты, а за 4 - я не сильно расстроюсь (как раз можно спокойно перекурить).

Зато несомненный плюс - контроль над типом экспортируемых данных: захотим строка 000333 появится в ячейке Excel в точности как 000333, а захотим - как число 333 (просто интеллигентно задавая тип поля, без каких-либо спец.тегов).

Зато второй несомненный плюс - вставка в Excel одним-единственным оператором - методом CopyFromRecordset объекта Range.
А по скорости как раз скорее больше Аксапта тормозит, пока данные для экспорта в цикле получает... ("2-4 минуты" - это длительность всего процесса экспорта: получение данных + копирование на рабочий лист) Кстати, CopyFromRecordset ничего общего с "копипастом" не имеет, буфер обмена никак не затрагивается... (во всяком случае, ничего такого не замечено).

Provider=Microsoft.Jet.OLEDB.4.0 - годится и для Excel, и для Access - и почти всегда имеется в распоряжении (по-моему, входит в состав стандартной поставки MDAC, хотя могу и ошибаться)