C导出 Excel 的六种神奇方法,轻松掌握数据输出
在日常的编程工作中,我们经常会遇到需要将数据导出为 Excel 文件的需求,C# 作为一种强大的编程语言,为我们提供了多种简单而有效的方法来实现这一功能,让我们一起深入了解 C# 导出 Excel 的 6 种简单方法。
方法一:使用 Microsoft.Office.Interop.Excel 库

这是一种常见且直接的方式,首先需要添加对 Microsoft.Office.Interop.Excel 程序集的引用,然后通过创建 Excel 应用程序对象、工作簿对象和工作表对象,来设置单元格的值,并最终保存文件。
示例代码:

using Excel = Microsoft.Office.Interop.Excel; void ExportToExcel1() { Excel.Application excelApp = new Excel.Application(); Excel.Workbook workbook = excelApp.Workbooks.Add(); Excel.Worksheet worksheet = workbook.Worksheets[1]; worksheet.Cells[1, 1].Value = "数据 1"; worksheet.Cells[1, 2].Value = "数据 2"; workbook.SaveAs("example1.xlsx"); workbook.Close(); excelApp.Quit(); }
方法二:使用 NPOI 库
NPOI 是一个开源的操作 Office 文件的库,使用起来非常方便。
示例代码:
using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; void ExportToExcel2() { HSSFWorkbook workbook = new HSSFWorkbook(); ISheet sheet = workbook.CreateSheet("Sheet1"); IRow row = sheet.CreateRow(0); row.CreateCell(0).SetCellValue("数据 1"); row.CreateCell(1).SetCellValue("数据 2"); using (FileStream fs = new FileStream("example2.xlsx", FileMode.Create)) { workbook.Write(fs); } }
方法三:使用 EPPlus 库
EPPlus 是一个强大的操作 Excel 的库,支持.xlsx 格式。
示例代码:
using OfficeOpenXml; void ExportToExcel3() { using (ExcelPackage package = new ExcelPackage()) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1"); worksheet.Cells[1, 1].Value = "数据 1"; worksheet.Cells[1, 2].Value = "数据 2"; package.SaveAs(new FileInfo("example3.xlsx")); } }
方法四:使用 CSV 格式
将数据以 CSV(逗号分隔值)格式导出,然后可以用 Excel 打开。
示例代码:
void ExportToExcel4() { string data = "数据 1,数据 2\n"; File.WriteAllText("example4.csv", data); }
方法五:使用 DataTable 导出
如果数据已经在 DataTable 中,可以通过遍历将其导出。
示例代码:
using System.Data; void ExportToExcel5(DataTable dataTable) { using (ExcelPackage package = new ExcelPackage()) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1"); for (int i = 0; i < dataTable.Rows.Count; i++) { for (int j = 0; j < dataTable.Columns.Count; j++) { worksheet.Cells[i + 1, j + 1].Value = dataTable.Rows[i][j]; } } package.SaveAs(new FileInfo("example5.xlsx")); } }
方法六:使用 Linq to Excel 库
Linq to Excel 可以通过类似于 Linq 的方式操作 Excel 文件。
示例代码:
using LinqToExcel; void ExportToExcel6() { var excelFile = new ExcelQueryFactory("example6.xlsx"); // 进行数据操作和导出 }
让我们玩一个小游戏来加深对这些方法的理解。
游戏名称:“Excel 导出大挑战”
游戏玩法:
1、设定一个包含多种数据类型(如字符串、整数、浮点数等)的数据集合。
2、参与者需要选择上述 6 种方法中的一种来将数据导出为 Excel 文件。
3、其他参与者检查导出的 Excel 文件是否正确,包括数据的准确性、格式等。
4、每成功完成一次导出并通过检查,参与者获得相应的分数。
操作方式:
1、准备好开发环境和相关的库引用。
2、按照所选方法的示例代码进行修改和调整,以适应给定的数据集合。
3、运行代码,生成 Excel 文件。
通过这个小游戏,相信大家能够更加熟练地掌握 C# 导出 Excel 的各种方法。
问答环节:
1、在使用 Microsoft.Office.Interop.Excel 库时,如果电脑上没有安装 Office 软件,还能正常导出吗?
2、NPOI 库和 EPPlus 库在性能和功能上有什么主要区别?
3、对于大量数据的导出,哪种方法更适合,为什么?