Цитата:
Сообщение от
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, хотя могу и ошибаться)