跳至頁尾內容
USING IRONXL

如何在 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應用程式以簡化過程。

如何在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文件載入資料

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
$vbLabelText   $csharpLabel

上面的程式碼從Excel中匯入資料。 為了提供更多背景資訊,假設我們正在設計一個具有DataGridView控制項和按鈕的Windows Forms應用程式。 該按鈕將打開一個對話框以從特定位置瀏覽Excel文件。 新增了自定義程式碼來過濾和顯示僅具有特定擴展名的有限數量的文件。

如何在C#中將Excel轉換為Datagridview,圖6:打開一個對話框以選擇Excel文件

打開一個對話框以選擇Excel文件

然後,Load方法用來從Excel文件中載入資料。此方法允許從各種來源如文件名、位元組或流中載入資料。 如果Excel文件受到密碼保護,您也可以將密碼作為參數傳遞。

一旦Excel詳細資訊載入到IronXL物件中,DataTable。 Excel文件中的每個工作表將被轉換為一個單獨的表。

然後,從資料集載入所需的表到DataGridView中。 為此,將DataTable物件。 此步驟允許將來自Excel文件的資料填充至DataGridView中。

如何在C#中將Excel轉換為Datagridview,圖7:顯示來自Excel文件的資料

顯示來自Excel文件的資料

此外,您可能需要配置DataGridView以便根據具體需求正確顯示標題和第一行資料。

欲了解更多IronXL使用教程,請點擊此操作指南

結論

IronXL是一個非常受歡迎的Excel工具,不依賴于外部程式庫。 它是一個獨立的解決方案,不需要安裝Microsoft Excel。 它與各種平台相容。

使用IronXL,您可以程式化地完成與Microsoft Excel文件相關的各種操作。 您可以執行排序字串或數字、修剪和新增資料、查找和替換值、合併和分開儲存格、保存文件等任務。 它還允許您驗證電子表格資料並定義儲存格資料型別。 此外,IronXL支持讀取和寫入CSV文件

IronXL提供不同的授權選項供購買。 客戶還可以選擇支付年費以獲得更新和產品支援。 額外收費的話,IronXL提供不受限制的再分發權利。 要獲取更詳細的定價資訊,可以存取授權頁面

常見問題

如何在C#中不使用Interop顯示Excel資料在DataGridView中?

您可以使用IronXL讀取Excel資料並將其顯示在DataGridView中,通過將Excel工作表轉換為DataTable並設置為DataGridView的DataSource。

使用IronXL在C#中進行Excel操作有哪些好處?

IronXL提供了一個無需Microsoft Excel或Office Interop的獨立解決方案。它支持多個平台和格式,適用於不同的C#應用程式。

我如何在一個Visual Studio專案中安裝IronXL以進行Excel處理?

通過在Package Manager Console中運行Install-Package IronXL.Excel或使用Visual Studio中的NuGet Package Manager 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 Forms應用程式中的DataGridView這樣的使用者介面中的無縫整合。

我在哪裡可以找到更多有關使用IronXL進行Excel操作的資源?

在IronXL網站上可以找到更多有關使用IronXL的教程和資源,包括操作指南和詳細的文件。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話