
如何在 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 NamespaceImports 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。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。
相关文章



