在日常开发中,我们经常需要将 DataTable 中的数据导出到 Excel 文件中,方便用户查看或进行后续分析。本文将介绍如何使用 Spire.XLS for .NET 实现这一功能,包括:
- • 普通写入:直接将 DataTable 写入 Excel。
- • 格式设置:对导出的 Excel 进行样式美化。
一、准备工作
首先,在 C# 项目中引用 Spire.XLS for .NET 程序集(Spire.Xls.dll
)。
引用完成后,即可开始编写代码。
二、创建测试用 DataTable
在示例中,我们先构造一个简单的 DataTable 用于演示。
csharp
using System;
using System.Data;
public static DataTable GetSampleData()
{
DataTable dt = new DataTable();
dt.Columns.Add("编号", typeof(int));
dt.Columns.Add("姓名", typeof(string));
dt.Columns.Add("成绩", typeof(double));
dt.Rows.Add(1, "张三", 88.5);
dt.Rows.Add(2, "李四", 92.0);
dt.Rows.Add(3, "王五", 76.3);
return dt;
}
三、普通写入 DataTable 到 Excel
普通写入是最简单的方式,不涉及复杂格式,只是把数据原封不动写入到 Excel 中。
csharp
using Spire.Xls;
using System.Data;
class Program
{
static void Main()
{
// 获取示例数据
DataTable dataTable = GetSampleData();
// 创建 Workbook
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// 将 DataTable 写入工作表(true 表示包含列名)
sheet.InsertDataTable(dataTable, true, 1, 1);
// 保存 Excel 文件
workbook.SaveToFile("普通写入.xlsx", ExcelVersion.Version2016);
}
}
说明:
- •
InsertDataTable
方法可将 DataTable 快速写入 Excel。 - • 第三个参数
true
表示首行写入列名。
运行后即可得到一个简单的 Excel 文件,第一行是列标题,下面是对应的数据。
四、带格式设置的写入
在很多实际场景中,我们希望导出的 Excel 更易读,比如标题加粗、列宽自动适应、边框等。
ini
using Spire.Xls;
using System.Data;
using System.Drawing;
class Program
{
static void Main()
{
DataTable dataTable = GetSampleData();
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// 写入数据
sheet.InsertDataTable(dataTable, true, 1, 1);
// 获取标题行范围
CellRange titleRange = sheet.Range[1, 1, 1, dataTable.Columns.Count];
titleRange.Style.Font.IsBold = true; // 加粗
titleRange.Style.HorizontalAlignment = HorizontalAlignType.Center; // 居中
titleRange.Style.Color = Color.LightGray; // 背景色
// 给所有单元格加边框
CellRange allRange = sheet.Range[1, 1, dataTable.Rows.Count + 1, dataTable.Columns.Count];
allRange.BorderInside(LineStyleType.Thin, Color.Black);
allRange.BorderAround(LineStyleType.Thin, Color.Black);
// 自动调整列宽
sheet.AllocatedRange.AutoFitColumns();
workbook.SaveToFile("格式化写入.xlsx", ExcelVersion.Version2016);
}
}
格式说明:
- • 标题样式:加粗、居中、背景色。
- • 边框:内外边框统一设置为黑色细线。
- • 列宽 :
AutoFitColumns()
自动调整列宽以适应内容。
运行后,生成的 Excel 文件不仅包含数据,还具有更美观的格式,方便阅读。
五、总结
本文介绍了如何使用 Spire.XLS for .NET 将 DataTable 写入 Excel 文件:
-
- 普通写入:简单快速,适合临时数据导出。
-
- 格式化写入:通过调整字体、颜色、边框和列宽,让数据更加美观易读。
无论是普通导出还是格式化处理,Spire.XLS for .NET 都提供了简洁易用的 API,帮助开发者高效完成 Excel 生成任务。