如何在 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 窗體應用程式和控制台應用程式。 使用 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 窗體應用程式來簡化操作。
如何在 C# 中將 Excel 轉換為 DataGridView,圖 1:在 Visual Studio 中建立一個新項目
在 Visual Studio 中建立一個新項目
選擇項目模板後,請提供項目名稱和地點。
如何在 C# 中將 Excel 轉換為 DataGridView,圖 2:配置項目
配置專案
接下來,選擇以下結構。 本專案將使用 .NET Framework 4.7。
如何在 C# 中將 Excel 轉換為 DataGridView,圖 3:.NET Framework 選擇
.NET Framework 選擇
產生專案文件後,您可以在設計器視圖中開啟 Form1.cs 文件,插入程式碼,設計介面,並建置/執行程式。 然後,您需要下載該解決方案所需的 IronXL 庫。 您可以使用軟體包管理器中的以下命令下載該軟體包:
Install-Package IronXL.Excel
如何在 C# 中將 Excel 轉換為 DataGridView,圖 4:在程式包管理器控制台中安裝 IronXL 程式包
在軟體套件管理器控制台中安裝 IronXL 軟體包
或者,您可以使用 NuGet 套件管理器搜尋並下載"IronXL"套件。 NuGet 套件管理器提供了一種便捷的方式來管理專案中的依賴項。
如何在 C# 中將 Excel 轉換為 DataGridView?圖 5:在 NuGet 套件管理器 UI 中搜尋並安裝 IronXL 套件
在 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 匯入資料。 為了提供更多背景信息,假設我們正在設計一個 Windows Forms 應用程序,其中包含一個 DataGridView 控制項和一個按鈕。 該按鈕將開啟一個對話框,供使用者從指定位置瀏覽並尋找 Excel 檔案。 新增自訂程式碼,以篩選並僅顯示具有特定副檔名的有限數量的檔案。
如何在 C# 中將 Excel 檔案轉換為 DataGridView,圖 6:開啟對話方塊選擇 Excel 文件
開啟對話方塊以選擇 Excel 文件
然後,使用 Load 方法從 Excel 檔案載入資料。此方法允許從各種來源載入數據,例如檔案名稱、位元組或流。 如果 Excel 檔案受密碼保護,您也可以將密碼傳遞為參數。
將 Excel 詳細資料載入至 IronXL 物件後,使用 ToDataTable 方法將 Excel 工作表資料轉換為 DataTable。 Excel 檔案中的每個工作表都會轉換為一個單獨的表格。
然後,將資料集中的所需表載入到 DataGridView。 為此,將 DataGridView 的 DataSource 屬性設為 IronXL 中新建立的 DataTable 物件。 此步驟允許將 Excel 檔案中的資料填入 DataGridView。
如何在 C# 中將 Excel 轉換為 DataGridView,圖 7:顯示 Excel 檔案中的資料
顯示 Excel 檔案中的資料
此外,根據您的特定要求,您可能需要配置 DataGridView,以便正確顯示標題和第一行資料。
有關使用 IronXL 的更多教程,請點擊此操作指南。
結論
IronXL 是一款非常受歡迎的 Excel 實用程序,它不依賴外部程式庫。 這是一個獨立解決方案,無需安裝微軟Excel。 它兼容多種平台。
使用 IronXL,您可以以程式設計方式完成與 Microsoft Excel 文件相關的各種操作。 您可以執行諸如對字串或數字進行排序、修剪和添加資料、查找和替換值、合併和取消合併單元格、保存文件等任務。 它還允許您驗證電子表格資料並定義儲存格資料類型。 此外,IronXL 支援讀取和寫入 CSV 檔案。
IronXL 提供多種授權許可方案供您購買。 客戶還可以選擇支付年度會員費,以獲得更新和產品支援。 IronXL 提供額外付費的無限再分送權。 如需更詳細的定價信息,您可以訪問許可頁面。
常見問題解答
如何在C#中不用Interop顯示Excel數據在DataGridView中?
您可以使用IronXL讀取Excel數據,通過將Excel頁面轉換為DataTable並設置為DataGridView的DataSource來顯示數據。
使用IronXL進行C#中的Excel操作有什麼好處?
IronXL提供了一個獨立的Excel操作解決方案,不需要Microsoft Excel或Office Interop。它支持多個平台和格式,使其對於不同的C#應用具有通用性。
如何在Visual Studio項目中安裝IronXL以處理Excel?
在套件管理器控制台中運行Install-Package IronXL.Excel或使用Visual Studio中的NuGet套件管理器UI安裝IronXL。
IronXL是否支持讀取和寫入不同的Excel文件格式?
是的,IronXL支持包括XLSX、XLS、CSV和TSV在內的多種Excel文件格式的讀取和寫入。
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 Forms應用中的DataGridView)的順利整合。
在哪能找到更多關於使用IronXL進行Excel操作的資源?
更多關於使用IronXL的教程和資源可以在IronXL網站找到,其中包括實操指南和詳細的文檔。

