news 2026/6/10 14:02:20

使用 C# 将 DataTable 和 Excel 数据互转

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 C# 将 DataTable 和 Excel 数据互转

在现代应用程序中,表格数据处理是一项基本功能。使用 C# 和 Spire.XLS for .NET 库,我们可以方便地实现 DataTable 和 Excel 之间的数据互转。本文将介绍如何将 DataTable 数据写入 Excel 表格,以及如何将 Excel 数据读取到 DataTable 中。

什么是 Spire.XLS for .NET

Spire.XLS for .NET 是一款强大的 Excel 文件处理组件,支持 .NET 应用程序中对 Excel 文件的创建、读取、编辑和转换。它可以让开发者轻松实现 Excel 文件的各种操作,无需依赖 Microsoft Excel 的安装。该库支持 Excel 2003、2007、2010、2013、2016 等版本的文件格式,具有高性能和丰富的功能,适用于开发报表、数据分析和数据导入导出等应用。

Spire.XLS 的主要功能

  • 创建和编辑 Excel 文件:可以动态生成 Excel 文件,并对其内容进行修改。
  • 读取 Excel 数据:能够快速读取 Excel 文件中的数据,并将其导入到 DataTable或其他数据结构中。
  • 格式设置:支持单元格样式、字体颜色、表格样式等设置。
  • 图表与图片:可以在 Excel 文件中插入图表和图片。
  • 支持多种格式:包括 .xlsx、.xls、.xlsm、.csv 等多种文件格式。

如何安装 Spire.XLS for .NET

安装 Spire.XLS for .NET 非常简单,以下是几种常用的安装方法:

1. 使用 NuGet 包管理器

这是最常用的方法,只需在项目中运行以下命令:

Install-Package Spire.XLS

2. 使用 Visual Studio

  1. 打开 Visual Studio,进入你的项目。
  2. 右键点击解决方案资源管理器中的项目名称,选择“管理 NuGet 包”
  3. “浏览”选项卡中,搜索“Spire.XLS”
  4. 选择 Spire.XLS 后,点击“安装”

3. 手动下载

如果您更倾向于手动安装,可以访问 Spire.XLS 官方网站下载相应的 DLL 文件。下载后,将 DLL 文件添加到您的项目引用中。

安装完成后,您就可以在 C# 项目中开始使用 Spire.XLS 进行 Excel 文件的处理了。

一、将 DataTable 写入 Excel

以下是实现将 DataTable 中的数据写入 Excel 文件的步骤和示例代码。

代码示例

using System.Data; using Spire.Xls; namespace WriteDataTableToExcel { class Program { static void Main(string[] args) { // 创建 Workbook 实例 Workbook workbook = new Workbook(); // 移除默认工作表 workbook.Worksheets.Clear(); // 添加工作表并命名 Worksheet worksheet = workbook.Worksheets.Add("InsertDataTable"); // 创建 DataTable 对象 DataTable dataTable = new DataTable(); dataTable.Columns.Add("No", typeof(Int32)); dataTable.Columns.Add("Name", typeof(String)); dataTable.Columns.Add("City", typeof(String)); // 添加行与数据 DataRow dr = dataTable.NewRow(); dr[0] = 1; dr[1] = "Tom"; dr[2] = "New York"; dataTable.Rows.Add(dr); dr = dataTable.NewRow(); dr[0] = 2; dr[1] = "Jerry"; dr[2] = "Huston"; dataTable.Rows.Add(dr); dr = dataTable.NewRow(); dr[0] = 3; dr[1] = "Dave"; dr[2] = "Florida"; dataTable.Rows.Add(dr); // 写入 DataTable 到工作表 worksheet.InsertDataTable(dataTable, true, 1, 1, true); // 保存到 Excel 文件 workbook.SaveToFile("InsertDataTable.xlsx", ExcelVersion.Version2016); // 释放资源 workbook.Dispose(); } } }

代码解析

  1. 建立一个 Workbook 实例,并清除默认工作表。
  2. 创建一个 DataTable,定义列,并插入数据。
  3. 使用 InsertDataTable 方法,将 DataTable 写入 Excel。
  4. 最后,调用 SaveToFile 方法将数据保存在 Excel 文件中。

二、将 Excel 数据读取到 DataTable

接下来,我们将介绍如何将 Excel 文件的数据读入到 DataTable 中。

代码示例

using Spire.Xls; using System.Data; using System.Windows.Forms; namespace ReadExcelIntoDataTable { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // 创建 Workbook 对象 Workbook wb = new Workbook(); // 加载现有的 Excel 文件 wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx"); // 获取第一个工作表 Worksheet sheet = wb.Worksheets[0]; // 将工作表的数据导出到 DataTable DataTable dataTable = sheet.ExportDataTable(); // 将 DataTable 绑定到 DataGridView dataGridView1.DataSource = dataTable; // 释放资源 wb.Dispose(); } } }

代码解析

  1. 创建 Workbook 实例并加载指定的 Excel 文件。
  2. 获取第一个工作表,并调用 ExportDataTable 方法导出数据。
  3. 将导出的 DataTable 绑定到 DataGridView 控件,以便在界面上展示。
  4. 最后,释放 Workbook 资源。

总结

通过使用 Spire.XLS for .NET 库,我们可以轻松实现 DataTable 和 Excel 之间的数据互转。无论是在数据分析、报表生成,还是在数据处理过程中,这种方法都大大提高了开发效率。希望本文的示例代码能帮助您更好地理解和运用这项技术。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:19:26

2024-2025阶段感悟

一、核心理念体系:心想事成 心学 基因 易经 你提出了一套以“心”为本、贯通中西、融合科学与灵性的成功/疗愈/创造模型,其底层逻辑可概括为:心之所向 → 潜意识重塑 → 能量聚焦 → 现实显化 这一过程,既是吸引力法则的实践&a…

作者头像 李华
网站建设 2026/6/9 19:47:03

GEO优化实战指南:如何让品牌在AI搜索中被优先引用

在GEO优化时代,搜索引擎不再只是提供一串蓝色链接等待用户点击,而是直接在搜索结果页面展示完整答案。这种行为被称为“零点击搜索”,意味着用户无需进入网站即可获取信息,这对内容曝光与商业转化提出了新挑战。传统SEO以关键词排…

作者头像 李华
网站建设 2026/6/10 10:55:27

FPGA在AI时代的角色重塑:硬件可重构性与异构计算的完美结合

引言:当摩尔定律放缓,架构创新登场截至2025年,半导体行业已普遍接受一个不可逆的事实:晶体管微缩带来的性能红利正在枯竭。台积电3nm工艺的每晶体管成本不降反升,而2nm以下制程面临量子隧穿、原子级制造等物理极限。国…

作者头像 李华
网站建设 2026/6/10 10:50:33

这6个工具,让你的Linux监控如鱼得水,运维效率翻倍!

今天想和大家分享一下我在日常运维工作中最常用的6个Linux系统监控工具。这些工具涵盖了命令行TUI(文本用户界面)和图形化GUI两种类型,能帮助我们快速定位性能瓶颈、监控资源使用、甚至直接管理进程。在服务器环境尤其是SSH远程接入时,命令行工具是首选,而在桌面或本地调试…

作者头像 李华
网站建设 2026/6/10 10:58:16

AI智能体 - A2A协议

打破孤岛:Google A2A 协议——构建下一代多智能体协作系统的基石 在 AI 智能体(AI Agents)飞速发展的今天,我们拥有了基于 LangGraph、CrewAI、Google ADK 等不同框架构建的强大智能体。然而,这些“超级大脑”往往各自…

作者头像 李华
网站建设 2026/6/10 10:51:39

突破与变革:2026年AI领域的技术创新与新机会

人工智能(AI)在过去的十年里已经从一种实验性技术变成了各行各业的核心动力之一。如今,随着AI技术的迅猛发展,2026年将是一个充满变革的时代。在这一年,AI不仅将在技术上取得突破,还将在多个领域催生新的商…

作者头像 李华