
如何在 C# 中将 Excel 转换为 DataGridView
IronXL 库功能
在C#中使用IronXL库,可以轻松读取和转换Microsoft Excel文档为CSV文件。 IronXL是一个独立的.NET软件库,可以读取各种电子表格格式,无需安装Microsoft Excel或依赖Microsoft Office Interop Excel。
IronXL是C#中领先的Excel电子表格库之一,兼容.NET Core和.NET Framework。 它支持各种.NET框架,包括Web应用程序、Windows Forms应用程序和控制台应用程序。 使用IronXL读取Excel文件快速且简单。 它支持多种Excel文件格式,包括XLSX、XLS、CSV、TSV、XLST、XLSM等。 您可以导入、编辑、导出数据表、导出数据集,并执行许多其他操作。 也可以导出和保存具有不同扩展名的文件。
通过IronXL直观的C# API,您可以在.NET环境中轻松读取、修改和创建Excel电子表格文件。 它全面支持.NET Core、.NET Framework、Xamarin、移动设备、Linux、macOS和Azure。
IronXL可以像Microsoft Excel一样进行计算,并支持多种列数据格式,如文本、整数、公式、日期、货币和百分比。
要了解更多信息,请点击IronXL网站。
在 Visual Studio 中创建新项目
在使用IronXL框架之前,必须在Visual Studio中创建一个.NET项目。 任何版本的Visual Studio都可以工作; 然而,推荐使用最新版本。 您可以根据需要创建各种项目模板或类似Windows Forms的应用程序。 本教程将使用Windows Forms应用程序来简化操作。

在 Visual Studio 中创建新项目
选择项目模板后,提供项目的名称和位置。

配置项目
接下来,选择以下结构。 该项目将使用.NET Framework 4.7。

.NET Framework选择
生成项目文件后,您可以打开Form1.cs文件进入设计器视图,插入程序代码,设计界面,并构建/运行程序。 然后,您需要为解决方案下载所需的IronXL库。 您可以通过在包管理器中使用以下命令下载包:

在软件包管理器控制台中安装 IronXL 软件包
或者,您可以使用NuGet包管理器搜索和下载"IronXL"包。 NuGet包管理器为管理项目中的依赖项提供了一种便捷方式。

在 NuGet 包管理器 UI 中搜索并安装 IronXL 包
对于此窗体,在窗体上放置一个DataGridView控件中。
从Excel文件加载数据
IronXL是一个功能强大的Excel库,允许您仅使用几行代码读取Excel文件。 下面是一个代码片段示例,展示如何将Excel数据导入到DataGridView中:
using System;
using System.Windows.Forms;
using IronXL;
namespace DataTableWindowsForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string importFilePath = string.Empty;
openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
DialogResult result = openFileDialog1.ShowDialog();
// Check if the user selected a file
if (result == DialogResult.OK)
{
importFilePath = openFileDialog1.FileName;
}
// Proceed if the file path is not empty
if (!string.IsNullOrEmpty(importFilePath))
{
// Load the Excel document
WorkBook excelDoc = WorkBook.Load(importFilePath);
// Convert the first sheet to a DataTable
var dataTable = excelDoc.WorkSheets[0].ToDataTable();
// Set the DataSource of dataGridView1 to the DataTable
dataGridView1.DataSource = dataTable;
}
}
}
}Imports System
Imports System.Windows.Forms
Imports IronXL
Namespace DataTableWindowsForm
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
Dim importFilePath As String = String.Empty
openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx"
Dim result As DialogResult = openFileDialog1.ShowDialog()
' Check if the user selected a file
If result = DialogResult.OK Then
importFilePath = openFileDialog1.FileName
End If
' Proceed if the file path is not empty
If Not String.IsNullOrEmpty(importFilePath) Then
' Load the Excel document
Dim excelDoc As WorkBook = WorkBook.Load(importFilePath)
' Convert the first sheet to a DataTable
Dim dataTable = excelDoc.WorkSheets(0).ToDataTable()
' Set the DataSource of dataGridView1 to the DataTable
dataGridView1.DataSource = dataTable
End If
End Sub
End Class
End Namespace上面的代码从Excel导入数据。 为了提供更多的背景信息,我们假设正在设计一个带有DataGridView控件和一个按钮的Windows窗体应用程序。 该按钮将打开一个对话框以从特定位置浏览Excel文件。 添加了自定义代码以过滤和显示特定扩展名的有限数量的文件。

打开对话框选择Excel文件
然后,使用Load方法从Excel文件加载数据。此方法允许从各种来源如文件名、字节或流中加载数据。 如果Excel文件受密码保护,您还可以将密码作为参数传递。
一旦Excel细节加载到IronXL对象中,将使用DataTable。 Excel文件中的每个表将转换为单独的表。
然后,将所需的表从数据集中加载到DataGridView中。 为此,将DataTable对象。 这一步允许数据从Excel文件填充到DataGridView。

显示来自Excel文件的数据
此外,您可能需要配置DataGridView,以便根据您的具体需求正确显示标题和首行数据。
有关使用IronXL的更多教程,请点击此使用指南。
结论
IronXL是一种非常流行的Excel工具,不依赖于外部库。 它是一个独立的解决方案,不需要安装Microsoft Excel。 它兼容各种平台。
使用IronXL,您可以以编程方式完成与Microsoft Excel文档相关的广泛操作。 您可以执行排序字符串或数字、修剪和添加数据、查找和替换值、合并和拆分单元格、保存文件等任务。 它还允许您验证电子表格数据并定义单元格数据类型。 此外,IronXL支持读取和写入CSV文件。
IronXL可供购买,并提供不同的许可选项。 客户还有选择支付年度会员费以获取更新和产品支持的选项。 额外收费下,IronXL提供无限制的再分发权限。 要获取更详细的定价信息,您可以访问许可页面。

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。
相关文章



