如何在 C# 中將 Excel 轉換為 DataGridView
IronXL程式庫功能
使用IronXL程式庫在C#中,您可以輕鬆地讀取和轉換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、Mobile、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 Forms應用程式。 該按鈕將打開一個對話框以從特定位置瀏覽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擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
