Вы можете использовать поставщик данных OLEDB и просто рассматривать Excel как другой источник данных ADO.NET, чтобы циклически проходить по строкам DataTable и вставлять их в электронную таблицу Excel. Вот статья Microsoft KB, в которой вы найдете множество подробностей.
http://support.microsoft.com/kb/316934/en-us
Важно помнить, что вы можете создавать рабочие книги и листы внутри рабочей книги, а также ссылаться на существующие листы, добавляя «$» в конце названия. Если вы опустите '$' в конце имени листа, поставщик OLEDB примет это за новый лист и попытается создать его.
Знак доллара после
Название листа является признаком того, что
таблица существует. Если вы создаете
новая таблица, как обсуждалось в
Создать новые рабочие книги и таблицы
раздел этой статьи, не используйте
знак доллара.
Вы можете создавать и создавать электронные таблицы в формате 2003 (.xls) или 2007 (xlsx), и это определено в строке подключения - вы указываете файл, в который собираетесь записывать, и просто указываете расширение. Убедитесь, что вы используете правильную версию поставщика OLEDB.
Если вы хотите создать версию 2003 (.xls), используйте следующую строку подключения:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties="Excel 8.0;HDR=YES
Если вы хотите создать версию 2007 (.xlsx), используйте следующую строку подключения:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Book1.xlsx;Extended Properties="Excel 12.0;HDR=YES
Возможно, вам придется скачать поставщика ACE от Microsoft, чтобы создать файлы XLSX. Вы можете найти это здесь .
Обычно я использую провайдера XLS, поэтому я не так много работал с провайдером XLSX.
Надеюсь, это поможет. Дайте мне знать, если у вас есть другие вопросы.