当前位置: 首页 > news >正文

使用 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 之间的数据互转。无论是在数据分析、报表生成,还是在数据处理过程中,这种方法都大大提高了开发效率。希望本文的示例代码能帮助您更好地理解和运用这项技术。

http://www.cnnetsun.cn/news/112749.html

相关文章:

  • 【智能聊天助手部署教程 (基于 Streamlit + Ollama)】
  • 好写作AI第二大脑:当研究灵感不再碎片化,你的“学术外脑”已上线
  • 好写作AI第二大脑:当研究灵感不再碎片化,你的“学术外挂”已上线
  • 守护代码世界的守门人——软件测试团队心理健康白皮书
  • PinWin窗口置顶工具:提升Windows多任务效率的终极指南
  • Sheet-to-Doc:用Excel数据和Word模板自动生成文档
  • 27岁,转行网络安全,是这辈子最成功的一件事......_27岁开始搞网安好吗
  • 基于 OpenCV C# 的直线卡尺工具源码分享
  • FunASR多说话人识别终极指南:从实战到深度解析
  • SpringAI基于pgvector存储向量
  • 15天零基础打造Android视频录制终极方案:基于FFmpeg的微信级体验完整实现
  • 终极指南:macOS iSCSI启动器完整配置与使用详解
  • 【计算机毕业设计案例】基于SpringBoot+微信小程序的智能在线预约挂号系统基于springboot+微信小程序的智能医疗管理系统设计与实现(程序+文档+讲解+定制)
  • 【计算机毕业设计案例】基于springboot+微信小程序的校园活动管理系统设计与实现在线活动发布、报名管理与学生互动平台(程序+文档+讲解+定制)
  • HMC218BMS8GETR,3.5-8 GHz GaAs MMIC双平衡混频器, 现货库存
  • 直流电机控制仿真:Matlab/Simulink 实现
  • 如何用Charticulator轻松制作专业图表
  • 俄罗斯服务器常见故障汇总及排查方法
  • Seed-VR2:突破性AI视频增强技术,6GB显存实现专业级画质处理
  • 3分钟让你的Qt应用颜值翻倍:10款专业QSS模板免费使用指南
  • AI视频生成新纪元:5步掌握Wan2.2模型实战技巧
  • Stable Diffusion WebUI Forge技术架构深度解析:PyTorch如何驱动AI绘画革命
  • 合规即代码的延伸:国产 DevOps 平台如何利用平台扩展能力,自动验证信创基础设施的配置合规性
  • 基于MATLAB的Kmeans自动寻找最佳聚类中心App——简单操作实现手肘法与聚类分析
  • 2026年学大模型,别乱读书!这13本“硬核书单”就是你的高效知识地图,啃完体系自成
  • Wan2.1 GP视频生成:新手快速上手AI视频制作指南
  • 【Go 语言】核心特性、基础语法及面试题
  • 能控制计算机桌面的多模态AI agent框架
  • DeeplxFile终极指南:免费解锁无限制文件翻译的完整教程
  • Iridescent:Day27