c# (WinForms-App) 将数据集导出到 Excel

excel

1个回答

写回答

shiyi1122

2025-07-10 00:55

+ 关注

excel
excel

使用C#的WinForms应用程序可以轻松地将数据集导出到excel。这使得数据的可视化和分析变得更加方便和直观。本文将向您展示如何使用C#编写代码来实现此功能,并提供一个简单的示例来说明其用法。

导出数据集到excel的代码示例

首先,我们需要在WinForms应用程序中添加对Microsoft.Office.Interop.excel命名空间的引用。这个命名空间提供了与excel应用程序的交互功能。

csharp

using excel = Microsoft.Office.Interop.excel;

然后,我们需要定义一个方法来导出数据集到excel。这个方法将接受一个数据集作为参数,并将数据集中的数据写入excel工作表中。

csharp

private void ExportDataSetToexcel(DataSet dataSet, string filePath)

{

excel.Application excelApp = new excel.Application();

excel.Workbook excelWorkbook = excelApp.Workbooks.Add(Type.Missing);

excel.Worksheet excelWorksheet = excelWorkbook.ActiveSheet;

int row = 1;

foreach (DataTable dataTable in dataSet.Tables)

{

foreach (DataColumn dataColumn in dataTable.Columns)

{

excelWorksheet.Cells[row, dataColumn.Ordinal + 1] = dataColumn.ColumnName;

}

row++;

foreach (DataRow dataRow in dataTable.Rows)

{

for (int i = 0; i < dataTable.Columns.Count; i++)</p> {

excelWorksheet.Cells[row, i + 1] = dataRow[i];

}

row++;

}

}

excelWorkbook.SaveAs(filePath);

excelWorkbook.Close();

excelApp.Quit();

}

在上面的代码中,我们首先创建了一个excel应用程序实例,并添加了一个新的工作簿和工作表。然后,我们使用嵌套的循环遍历数据集中的每个表和行,并将它们的值写入excel工作表中。最后,我们保存工作簿并关闭excel应用程序。

使用示例

以下是一个使用上述方法的简单示例。假设我们有一个包含学生姓名和成绩的数据集。

csharp

DataSet dataSet = new DataSet();

DataTable dataTable = new DataTable("Students");

dataTable.Columns.Add("Name", typeof(string));

dataTable.Columns.Add("Score", typeof(int));

dataTable.Rows.Add("John", 90);

dataTable.Rows.Add("Alice", 85);

dataTable.Rows.Add("Bob", 95);

dataSet.Tables.Add(dataTable);

string filePath = "C:\\path\\to\\output\\file.xlsx";

ExportDataSetToexcel(dataSet, filePath);

在上述示例中,我们首先创建一个数据集和一个名为"Students"的数据表。然后,我们向表中添加了几个学生的姓名和成绩。最后,我们调用导出方法,将数据集导出到指定的excel文件中。

使用C#的WinForms应用程序可以轻松地将数据集导出到excel。通过使用Microsoft.Office.Interop.excel命名空间,我们可以编写代码来实现这个功能。在本文中,我们提供了一个简单的示例来说明如何使用C#编写代码来实现数据集到excel的导出。通过这种方法,我们可以更方便地将数据可视化和分析,并在excel中进行进一步的处理。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号