如何在 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 框架选择
生成项目文件后,您可以在设计器视图中打开Form1.cs文件以插入程序代码、设计界面,并构建/运行程序。 然后,您需要为解决方案下载所需的IronXL库。 您可以通过在包管理器中使用以下命令下载包:
Install-Package IronXL.Excel

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

在 NuGet 包管理器 UI 中搜索并安装 IronXL 包
对于此表单,将DataGridView控件放置在表单上以加载必要的Excel文件到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;
}
}
}
}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(ByVal sender As Object, ByVal e As EventArgs)
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 = System.Windows.Forms.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 Forms应用程序。 该按钮将打开一个对话框以从特定位置浏览Excel文件。 添加了自定义代码以过滤和显示特定扩展名的有限数量的文件。

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

显示来自Excel文件的数据
此外,您可能需要配置DataGridView以适当显示页眉和第一行数据,具体取决于您的特定要求。
有关使用IronXL的更多教程,请点击此使用指南。
结论
IronXL是一种非常流行的Excel工具,不依赖于外部库。 它是一个独立的解决方案,不需要安装Microsoft Excel。 它兼容各种平台。
使用IronXL,您可以以编程方式完成与Microsoft Excel文档相关的广泛操作。 您可以执行排序字符串或数字、修剪和添加数据、查找和替换值、合并和拆分单元格、保存文件等任务。 它还允许您验证电子表格数据并定义单元格数据类型。 此外,IronXL支持读取和写入CSV文件。
IronXL可供购买,并提供不同的许可选项。 客户还有选择支付年度会员费以获取更新和产品支持的选项。 额外收费下,IronXL提供无限制的再分发权限。 要获取更详细的定价信息,您可以访问许可页面。
常见问题解答
如何在 C# 中不使用 Interop 显示 DataGridView 中的 Excel 数据?
您可以使用 IronXL 来读取 Excel 数据并通过将 Excel 表转换为 DataTable 然后设置为 DataGridView 的数据源来显示它。
在 C# 中使用 IronXL 进行 Excel 操作的好处是什么?
IronXL 提供了一个独立的解决方案进行 Excel 操作,无需 Microsoft Excel 或 Office Interop。它支持多种平台和格式,使其在不同的 C# 应用程序中显得非常灵活。
如何在 Visual Studio 项目中安装 IronXL 以进行 Excel 处理?
通过在包管理器控制台中运行 Install-Package IronXL.Excel 或通过 Visual Studio 中的 NuGet 包管理器 UI 安装 IronXL。
IronXL 是否支持读取和写入不同的 Excel 文件格式?
是的,IronXL 支持读取和写入多种 Excel 文件格式,包括 XLSX、XLS、CSV 和 TSV。
IronXL 可以用于跨平台应用程序吗?
是的,IronXL 兼容 .NET Core、.NET Framework、Xamarin 和其他平台,非常适合于跨平台应用程序。
使用 IronXL 将 Excel 数据转换为 DataTable 的过程是什么?
要使用 IronXL 将 Excel 数据转换为 DataTable,请将 Excel 文件读取到 WorkBook 对象中,访问所需的表,并使用 IronXL 的方法将数据提取到 DataTable。
IronXL 是在 C# 中进行 Excel 数据处理的经济有效的解决方案吗?
IronXL 提供灵活的许可选项,包括年度会员和再分发权限,使其成为在 C# 中进行 Excel 数据处理的经济有效的解决方案。
IronXL 可以对 Excel 文件执行哪些操作?
IronXL 能够执行多种操作,比如读取、写入、排序、修整和合并单元格,还可以处理类似于 Microsoft Excel 的计算和格式化操作。
IronXL 如何处理用户界面的 Excel 数据?
IronXL 可以从各种来源加载 Excel 数据,并将其转换为 DataTable,以促进无缝集成到如 Windows 窗体应用程序的 DataGridView 等用户界面。
在哪里可以找到有关使用 IronXL 进行 Excel 操作的更多资源?
在 IronXL 网站上可以找到更多关于如何使用 IronXL 的教程和资源,包括指南和详细的文档。








