Вам нужно будет создать рабочую книгу, добавить дополнительные листы, если необходимо (по умолчанию три), а затем заполнить ячейки.
Начало файла:
using Excel=Microsoft.Office.Interop.Excel;
А затем основной код для генерации файла Excel
Excel.Application excel = new Application();
var workbook = (Excel._Workbook) (excel.Workbooks.Add(Missing.Value));
for (var i = 0; i < dataset.Tables.Count; i++)
{
if (workbook.Sheets.Count <= i)
{
workbook.Sheets.Add(Type.Missing, Type.Missing, Type.Missing,
Type.Missing);
}
var currentSheet = (Excel._Worksheet)workbook.Sheets[i];
for (var y = 0; y < dataset.Tables[i].Rows.Count; y++)
{
for (var x = 0; x < dataset.Tables[i].Rows[y].ItemArray.Count(); x++)
{
currentSheet.Cells[y, x] = dataset.Tables[i].Rows[y].ItemArray[x];
}
}
}
workbook.SaveAs("C:\\Temp\\book.xlsx", Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing);
workbook.Close();
excel.Quit();
Response.WriteFile(C:\\Temp\\book.xlsx");
Не знаю точно, сработает ли это, но это должно привести вас в правильном направлении
(также: Type.Missing
и Missing.Value
поступают из пространства имен System.Reflection
, только к вашему сведению)