Âîçíèêëà çàäà÷à ïåðåäà÷è íàáîðà äàííûõ èç êîäà .Net â Excel. Çàäàëñÿ âîïðîñîì, êàêèå åñòü ñïîñîáû ïåðåäà÷è, íå èñïîëüçóÿ ADODB.Recordset. Ñäåëàë íåñêîëüêî âàðèàíòîâ, à ïîòîì ðåøèë óæå ïåðåáðàòü âñå ïîäðÿä, ÷òî ïðèøëè â ãîëîâó.
 èòîãå ñîáðàë òåñòîâûé ñòåíä:
- òàáëèöà íà SQL Server 2008
- ïðèëîæåíèå íà Access 2010
Ðàíüøå âñåãäà èñïîëüçîâàë ìåòîä CopyFromRecordset. Ïîòîìó ÷òî áûñòðî è ïðîñòî. Íî òàê êàê çàõîòåë óéòè îò ADO, òî îñòàíîâèëñÿ íà ìàññèâàõ è XML. Êîãäà íà÷èíàë, òî áûëà íàäåæäà, ÷òî ìàññèâû åñëè íå áûñòðåå, òî õîòÿ áû íå ìåäëåííåå CopyFromRecordset. Óâû, êàê âûÿñíèëîñü, ýòî íå òàê. Èç äâóõ ïðèìåíåííûõ ñïîñîáîâ ñàìûé áûñòðûé óñòóïàåò CopyFromRecordset â 2 ðàçà ïî ñêîðîñòè.
Ñàìûé ñêîðîñòíîé èç èñïîëüçîâàííûõ ñïîñîá èìïîðòà XML â 6 ðàç ìåäëåííåé, ÷åì CopyFromRecordset. Õîòåëîñü áû ïîøóñòðåå. Âîçìîæíî, åñòü êàêèå-òî òîíêîñòè, åñëè êòî çíàåò – ïîäåëèòåñü. Âîîáùå, xlsx ôàéë ñàì ïðåäñòàâëåí ôîðìàòîì Office Open XML, íî íà èçó÷åíèå ðàáîòû ñ íèì âðåìåíè ïîêà íåò. Åñëè êòî-òî ðàáîòàë, èíòåðåñíî óçíàòü î âïå÷àòëåíèÿõ.
Èç îáíàðóæåííîãî – XML, äàííûå êîòîðîãî ïðåäñòàâëåíû àòðèáóòàìè, à íå ýëåìåíòàìè, îáðàáàòûâàåòñÿ Excel-îì â ðàçû áûñòðåå.
Âûÿñíèëîñü, ÷òî íàèáîëåå áëèçêèì è ñîïîñòàâèìûì ïî ñêîðîñòè ê CopyFromRecordset ÿâëÿåòñÿ ListObject, èñòî÷íèê äàííûõ êîòîðîãî òàêæå ADODB.Recordset.
Òàáëèöó ðåçóëüòàòîâ ïðèâîæó íèæå. Åñëè ó êîãî-òî åñòü ìûñëè ïî òåìå, ïîäåëèòåñü. Åñëè òåìà çàèíòåðåñóåò, ïðèëàãàþ ñêðèïò íà ñîçäàíèå òàáëèöû è ñàìî ïðèëîæåíèå – ìîæíî áóäåò äîïèñàòü êîä ïî òåì æå ñàìûì èñõîäíûì äàííûì äëÿ êîððåêòíîãî ñðàâíåíèÿ.
http://www.sql.ru/forum/1210353/sravnenie-metodov-peredachi-dannyh-v-excel