C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#导出Excel数据并保存格式

使用C#导出Excel数据并保存多种格式的完整示例

作者:大丸子

在现代企业信息化管理中,Excel 已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开 Excel,本文将通过一个完整示例,详细演示如何在 C# 中实现 Excel 数据导出,需要的朋友可以参考下

引言

在现代企业信息化管理中,Excel 已经成为最常用的数据存储和分析工具。从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开 Excel。然而,在实际业务中,我们往往需要将系统中的数据动态生成 Excel 文件,而不是手动录入。手动操作不仅效率低,而且容易出错,对于需要批量生成报表、进行定期统计或对外发布数据的场景尤其不适用。

为了解决这一问题,C# 开发者可以借助 Free Spire.XLS for .NET,通过代码快速创建 Excel 文件、填充数据、应用样式,并将文件导出为多种格式,包括 XLSX、CSV、PDF,甚至直接保存到内存流以便网络传输。本文将通过一个完整示例,详细演示如何在 C# 中实现 Excel 数据导出,让你的报表生成工作既高效又专业。

1. 安装 Spire.XLS

在开始编码前,需要通过 NuGet 安装 Spire.XLS:

Install-Package FreeSpire.XLS

安装完成后,即可在 C# 项目中引用命名空间:

using Spire.Xls;
using System.Data;
using System.IO;

2. 创建工作簿和填充数据

下面示例演示如何创建一个 Excel 文件,并将员工信息填充到工作表中:

// 创建工作簿
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "EmployeeData";

// 创建 DataTable 并添加列
DataTable table = new DataTable();
table.Columns.Add("EmployeeID");
table.Columns.Add("FullName");
table.Columns.Add("Department");
table.Columns.Add("HireDate");
table.Columns.Add("Salary");

// 添加示例数据
table.Rows.Add("E101", "John Miller", "Finance", "2020-02-15", "7500");
table.Rows.Add("E102", "Sarah Brown", "HR", "2019-07-10", "6800");
table.Rows.Add("E103", "Michael Davis", "IT", "2021-01-22", "8200");
table.Rows.Add("E104", "Laura Wilson", "Marketing", "2018-11-18", "7100");
table.Rows.Add("E105", "Daniel Lee", "Sales", "2022-06-12", "6900");

// 将 DataTable 插入工作表,从第一行第一列开始,并保留列名
sheet.InsertDataTable(table, true, 1, 1);

// 应用内置样式
sheet.AllocatedRange.Rows[0].BuiltInStyle = BuiltInStyles.Heading2; // 标题行
for (int i = 1; i < sheet.AllocatedRange.Rows.Count(); i++)
{
    sheet.AllocatedRange.Rows[i].BuiltInStyle = BuiltInStyles.Accent2; // 数据行
}

// 自动调整列宽和行高
sheet.AllocatedRange.AutoFitColumns();
sheet.AllocatedRange.AutoFitRows();

说明

3. 保存为不同格式

Spire.XLS 支持多种保存格式,常见的包括:

示例代码:

// 保存为 Excel 2016 格式
workbook.SaveToFile("EmployeeData.xlsx", FileFormat.Version2016);

// 保存为 CSV
workbook.SaveToFile("EmployeeData.csv", FileFormat.CSV);

// 保存为 PDF
workbook.SaveToFile("EmployeeData.pdf", FileFormat.PDF);

// 保存到 MemoryStream
using (MemoryStream ms = new MemoryStream())
{
    workbook.SaveToStream(ms, FileFormat.Version2016);
    // 这里可以将 ms 写入数据库、发送 HTTP 响应等
}

说明

4. 效果展示

生成的 Excel 文件:

表头加粗,数据行有配色,并且列宽自适应。

5. 扩展说明

6. 总结

本文演示了如何使用 Spire.XLS for .NET

通过掌握 WorkbookWorksheetInsertDataTable 和 SaveToFile/SaveToStream,你可以轻松实现 Excel 数据导出和格式转换,提升企业应用开发效率。

以上就是使用C#导出Excel数据并保存多种格式的完整示例的详细内容,更多关于C#导出Excel数据并保存格式的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文