将 System.Data.DataSet 导入 Excel 的最简单方法是使用 Microsoft Excel Interop Assembly。以下是一个简单的示例代码,用于将 DataSet 导出到 Excel 文件:
using System;
using System.Data;
using System.IO;
using Microsoft.Office.Interop.Excel;
public static void ExportDataSetToExcel(DataSet ds, string outputPath)
{
Application excelApp = new Application();
Workbook workbook = excelApp.Workbooks.Add();
foreach (DataTable dt in ds.Tables)
{
Worksheet worksheet = workbook.Sheets.Add();
worksheet.Name = dt.TableName;
// 写入表头
for (int i = 0; i < dt.Columns.Count; i++)
{
worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
}
// 写入数据
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1] = dt.Rows[i][j];
}
}
}
workbook.SaveAs(outputPath);
workbook.Close();
excelApp.Quit();
Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(excelApp);
}
在这个示例中,我们首先创建一个新的 Excel 应用程序实例,然后为每个 DataTable 创建一个新的工作表,并将表头和数据写入工作表中。最后,我们将工作簿保存到指定的输出路径,并关闭工作簿和 Excel 应用程序。
需要注意的是,使用 Microsoft Excel Interop Assembly 导出大量数据到 Excel 文件可能会导致性能问题,因此在生产环境中使用时需要注意性能优化。同时,这个方法只能在 Windows 操作系统上运行,因为它依赖于 Microsoft Excel 的安装。
领取专属 10元无门槛券
手把手带您无忧上云