跳至頁尾內容
USING IRONXL

using IronXL 將 C# 中的 DataGridView 匯出到 Excel

使用IronXL在C#中將DataGridView資料導出到Excel,無需依賴Microsoft Office,且提供容器友好的部署。 建立一個DataGridView單元格,並保存為XLSX格式,支持完整的格式化。

從Windows Forms DataGridView導出資料到Excel是商業應用中的常見需求。 無論是生成報告、建立資料備份,還是與利益相關者共享資訊,開發人員需要一個可靠的方式將GridView資料導出為Excel格式。 使用Microsoft Office Interop的傳統方法已經支持了這一需求,但它們伴隨著部署的複雜性和依賴要求,這可能會使應用程式的分發變得複雜。

本教程演示了使用IronXL在C#中導出DataGridView資料到Excel的實際範例,一個不需要安裝Microsoft Office的.NET程式庫。 您將探索如何實現一個乾淨且高效的導出解決方案,適用於不同的環境,包括雲平台和容器。 無論是部署到Azure還是運行在Docker容器中,IronXL都提供了DevOps團隊所需的部署靈活性。

在IronXL首頁展示C#程式碼範例,演示如何讀取無需Microsoft Office或Excel Interop的Excel文件,並具有語法高亮和NuGet下載統計。

為什麼將DataGridView導出到Excel很重要?

DataGridView控制對Windows Forms應用程式至關重要,顯示使用者每天交互的表格資料。 將此資料導出到Excel能讓使用者利用Excel強大的分析工具,建立演示,以及與可能無法存取應用程式的同事共享資料。 此C# Excel導出功能對於商業報告和資料分析工作流程至關重要。

使用Microsoft.Office.Interop.Excel的傳統導出方法需要在每台運行應用程式的計算機上安裝Excel。 這給部署帶來了挑戰,特別是在伺服器環境中或將應用程式分發給沒有Office授權的使用者時。 此外,如果不小心處理,Interop方法可能會出現記憶體洩漏和COM物件清理問題。 這些挑戰在部署到AWS Lambda或其他不宜安裝Office的無伺服器平台時尤為嚴重。

現代.NET應用程式需要更靈活的解決方案。 IronXL通過提供一個獨立的程式庫來應對這些挑戰,能夠生成Excel文件而不依賴於Microsoft Office。 這種方法確保了開發、測試和生產環境中的一致性功能,同時支持部署到容器和雲平台。

跨平台支持圖表展示.NET對多個版本的相容性(9, 8, 7, 6, Core, Standard, Framework),並顯示包括Windows、Linux、Mac、Docker、Azure和AWS在內的多平台圖標。

IronXL和Interop如何比較?

下表總結了IronXL和Microsoft Office Interop在Excel導出場景中的主要區別:

IronXL vs. Microsoft Office Interop for Excel Export
功能 IronXL Microsoft互操作
需要安裝Office
Linux / Docker支持
COM物件清理 不需要 手動,容易出錯
記憶體洩漏風險 如果不釋放,風險高
雲 / 無伺服器部署 支持 不支持
導出格式(XLSX, CSV, JSON, XML) 全部支持 有限

您如何在C#項目中安裝IronXL?

在Visual Studio中打開套件管理器控制台,運行以下命令,或使用.NET CLI:

Install-Package IronXL.Excel

終端輸出顯示在C#項目中成功安裝IronXL.Excel NuGet包及其依賴項

有關詳細的安裝選項,請參閱IronXL NuGet安裝指南或直接在NuGet.org上搜索該包。 一旦安裝完成,將using IronXL;新增到您的C#項目文件中,以存取該程式庫的Excel導出功能。 在部署到生產環境時,應用您的授權密鑰以啟用所有功能。 您可以獲得免費試用授權來評估IronXL再決定購買。

一個基本的DataGridView導出看起來如何?

下面的程式碼建立了一個示範Windows Forms應用程式,其中有一個DataGridView填充了資料,然後使用IronXL高級語句將其導出到Excel:

using IronXL;
using System.Data;
using System.Windows.Forms;

// Create a DataTable with sample product data
var dt = new DataTable();
dt.Columns.Add("Product ID", typeof(int));
dt.Columns.Add("Product Name", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Columns.Add("Stock", typeof(int));

dt.Rows.Add(1001, "Laptop Pro", "Electronics", 1299.99m, 15);
dt.Rows.Add(1002, "Wireless Mouse", "Accessories", 29.99m, 50);
dt.Rows.Add(1003, "USB-C Cable", "Accessories", 19.99m, 100);
dt.Rows.Add(1004, "Monitor 27\"", "Electronics", 399.99m, 8);
dt.Rows.Add(1005, "Keyboard Mechanical", "Accessories", 89.99m, 25);

// Bind to DataGridView
var dataGridView1 = new DataGridView();
dataGridView1.DataSource = dt;

// Create new Excel workbook
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// Export column headers
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    worksheet.SetCellValue(0, colIndex, dataGridView1.Columns[colIndex].HeaderText);
}

// Export data rows
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
    if (!dataGridView1.Rows[rowIndex].IsNewRow)
    {
        for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
        {
            var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
            if (cellValue is decimal or double or int)
                worksheet.SetCellValue(rowIndex + 1, colIndex, Convert.ToDouble(cellValue));
            else
                worksheet.SetCellValue(rowIndex + 1, colIndex, cellValue?.ToString() ?? string.Empty);
        }
    }
}

// Save the Excel file
workbook.SaveAs("DataGridViewExport.xlsx");
Console.WriteLine("Export completed successfully!");
using IronXL;
using System.Data;
using System.Windows.Forms;

// Create a DataTable with sample product data
var dt = new DataTable();
dt.Columns.Add("Product ID", typeof(int));
dt.Columns.Add("Product Name", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Columns.Add("Stock", typeof(int));

dt.Rows.Add(1001, "Laptop Pro", "Electronics", 1299.99m, 15);
dt.Rows.Add(1002, "Wireless Mouse", "Accessories", 29.99m, 50);
dt.Rows.Add(1003, "USB-C Cable", "Accessories", 19.99m, 100);
dt.Rows.Add(1004, "Monitor 27\"", "Electronics", 399.99m, 8);
dt.Rows.Add(1005, "Keyboard Mechanical", "Accessories", 89.99m, 25);

// Bind to DataGridView
var dataGridView1 = new DataGridView();
dataGridView1.DataSource = dt;

// Create new Excel workbook
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// Export column headers
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    worksheet.SetCellValue(0, colIndex, dataGridView1.Columns[colIndex].HeaderText);
}

// Export data rows
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
    if (!dataGridView1.Rows[rowIndex].IsNewRow)
    {
        for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
        {
            var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
            if (cellValue is decimal or double or int)
                worksheet.SetCellValue(rowIndex + 1, colIndex, Convert.ToDouble(cellValue));
            else
                worksheet.SetCellValue(rowIndex + 1, colIndex, cellValue?.ToString() ?? string.Empty);
        }
    }
}

// Save the Excel file
workbook.SaveAs("DataGridViewExport.xlsx");
Console.WriteLine("Export completed successfully!");
Imports IronXL
Imports System.Data
Imports System.Windows.Forms

' Create a DataTable with sample product data
Dim dt As New DataTable()
dt.Columns.Add("Product ID", GetType(Integer))
dt.Columns.Add("Product Name", GetType(String))
dt.Columns.Add("Category", GetType(String))
dt.Columns.Add("Price", GetType(Decimal))
dt.Columns.Add("Stock", GetType(Integer))

dt.Rows.Add(1001, "Laptop Pro", "Electronics", 1299.99D, 15)
dt.Rows.Add(1002, "Wireless Mouse", "Accessories", 29.99D, 50)
dt.Rows.Add(1003, "USB-C Cable", "Accessories", 19.99D, 100)
dt.Rows.Add(1004, "Monitor 27""", "Electronics", 399.99D, 8)
dt.Rows.Add(1005, "Keyboard Mechanical", "Accessories", 89.99D, 25)

' Bind to DataGridView
Dim dataGridView1 As New DataGridView()
dataGridView1.DataSource = dt

' Create new Excel workbook
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

' Export column headers
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
    worksheet.SetCellValue(0, colIndex, dataGridView1.Columns(colIndex).HeaderText)
Next

' Export data rows
For rowIndex As Integer = 0 To dataGridView1.Rows.Count - 1
    If Not dataGridView1.Rows(rowIndex).IsNewRow Then
        For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
            Dim cellValue = dataGridView1.Rows(rowIndex).Cells(colIndex).Value
            If TypeOf cellValue Is Decimal OrElse TypeOf cellValue Is Double OrElse TypeOf cellValue Is Integer Then
                worksheet.SetCellValue(rowIndex + 1, colIndex, Convert.ToDouble(cellValue))
            Else
                worksheet.SetCellValue(rowIndex + 1, colIndex, If(cellValue?.ToString(), String.Empty))
            End If
        Next
    End If
Next

' Save the Excel file
workbook.SaveAs("DataGridViewExport.xlsx")
Console.WriteLine("Export completed successfully!")
$vbLabelText   $csharpLabel

此程式碼演示了核心的導出功能。 DataGridView控件資料源。 當處理較大資料集時,考慮使用IronXL的DataSet導入和導出功能來提高性能。

導出迴圈遍歷DataGridView,使用行和列索引將標題和資料放入Excel單元格中。 IronXL文件涵蓋了更複雜場景的其他單元格寫入選項。 DataGridViews底部的空行,確保Excel輸出中沒有意外的空白行。

Windows Forms應用程式顯示一個填充了產品資料的DataGridView,包括產品ID、名稱、類別、價格和庫存列,下方有一個

Microsoft Excel電子表格顯示已導出的產品資料,包括產品ID、產品名稱、類別、價格和電子及計算機配件的庫存水平列。

如果您在基於Web的ASP.NET MVC應用程式中實現此功能,將文件作為可下載響應返回,使用Content-Disposition HTTP標頭。 對於ASP.NET WebForms開發人員,您可能需要在導出控件時覆蓋VerifyRenderingInServerForm以確保正確的渲染。 請存取IronXL功能頁面以獲得支持場景完整列表。

您如何在Excel導出中新增專業格式?

專業的Excel導出通常需要格式化以提高可讀性。 IronXL提供包括字體自定義、背景顏色、邊框和對齊的樣式功能。 下面的範例新增了標題格式和交替行顏色:

using IronXL;
using System.Data;
using System.Windows.Forms;

// Assume dataGridView1 is already populated with data
var dataGridView1 = new DataGridView();

// (populate dataGridView1 with data as shown in the previous example)

var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// Set column headers with formatting
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    var headerCell = worksheet.GetCellAt(0, colIndex);
    headerCell.Value = dataGridView1.Columns[colIndex].HeaderText;
    headerCell.Style.Font.Bold = true;
    headerCell.Style.BackgroundColor = "#4472C4";
    headerCell.Style.Font.Color = "#FFFFFF";
    headerCell.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center;
}

// Export data with alternating row colors
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
    if (!dataGridView1.Rows[rowIndex].IsNewRow)
    {
        for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
        {
            var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
            var excelCell = worksheet.GetCellAt(rowIndex + 1, colIndex);

            if (cellValue != null)
                excelCell.Value = cellValue.ToString();

            // Apply alternating row background
            if (rowIndex % 2 == 0)
                excelCell.Style.BackgroundColor = "#F2F2F2";
        }
    }
}

// Auto-fit columns
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    worksheet.AutoSizeColumn(colIndex);
}

workbook.SaveAs("FormattedExport.xlsx");
Console.WriteLine("Formatted export completed successfully!");
using IronXL;
using System.Data;
using System.Windows.Forms;

// Assume dataGridView1 is already populated with data
var dataGridView1 = new DataGridView();

// (populate dataGridView1 with data as shown in the previous example)

var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// Set column headers with formatting
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    var headerCell = worksheet.GetCellAt(0, colIndex);
    headerCell.Value = dataGridView1.Columns[colIndex].HeaderText;
    headerCell.Style.Font.Bold = true;
    headerCell.Style.BackgroundColor = "#4472C4";
    headerCell.Style.Font.Color = "#FFFFFF";
    headerCell.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center;
}

// Export data with alternating row colors
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
    if (!dataGridView1.Rows[rowIndex].IsNewRow)
    {
        for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
        {
            var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
            var excelCell = worksheet.GetCellAt(rowIndex + 1, colIndex);

            if (cellValue != null)
                excelCell.Value = cellValue.ToString();

            // Apply alternating row background
            if (rowIndex % 2 == 0)
                excelCell.Style.BackgroundColor = "#F2F2F2";
        }
    }
}

// Auto-fit columns
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    worksheet.AutoSizeColumn(colIndex);
}

workbook.SaveAs("FormattedExport.xlsx");
Console.WriteLine("Formatted export completed successfully!");
Imports IronXL
Imports System.Data
Imports System.Windows.Forms

' Assume dataGridView1 is already populated with data
Dim dataGridView1 As New DataGridView()

' (populate dataGridView1 with data as shown in the previous example)

Dim workbook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet = workbook.DefaultWorkSheet

' Set column headers with formatting
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
    Dim headerCell = worksheet.GetCellAt(0, colIndex)
    headerCell.Value = dataGridView1.Columns(colIndex).HeaderText
    headerCell.Style.Font.Bold = True
    headerCell.Style.BackgroundColor = "#4472C4"
    headerCell.Style.Font.Color = "#FFFFFF"
    headerCell.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center
Next

' Export data with alternating row colors
For rowIndex As Integer = 0 To dataGridView1.Rows.Count - 1
    If Not dataGridView1.Rows(rowIndex).IsNewRow Then
        For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
            Dim cellValue = dataGridView1.Rows(rowIndex).Cells(colIndex).Value
            Dim excelCell = worksheet.GetCellAt(rowIndex + 1, colIndex)

            If cellValue IsNot Nothing Then
                excelCell.Value = cellValue.ToString()
            End If

            ' Apply alternating row background
            If rowIndex Mod 2 = 0 Then
                excelCell.Style.BackgroundColor = "#F2F2F2"
            End If
        Next
    End If
Next

' Auto-fit columns
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
    worksheet.AutoSizeColumn(colIndex)
Next

workbook.SaveAs("FormattedExport.xlsx")
Console.WriteLine("Formatted export completed successfully!")
$vbLabelText   $csharpLabel

這個增強版本將專業格式應用到導出的Excel文件中。標題使用藍色背景和白色字體顏色加粗文字,從視覺上明顯區分於資料行。 程式碼使用模數運算實現交替行顏色,提高了大資料集的可讀性。 您可以進一步使用IronXL單元格式指南自定義外觀或應用合併單元格功能來跨列標題。

AutoSizeColumn方法調整列寬以適應內容,消除了導出後的手動調整。 這些格式選項將基本資料導出轉化為可隨時共享的演示文件。 檢查如何使用IronXL 編寫Excel文件以獲得更多格式和資料編寫模式。

您如何導出到多種格式並新增公式?

IronXL不僅僅是基本的Excel導出,還提供公式支持、多工作表和其他輸出格式。 下面的範例展示了這些功能:

using IronXL;

var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// (populate worksheet with DataGridView data as shown above)
int dataRowCount = 5; // Replace with actual dataGridView1.Rows.Count

// Add a SUM formula to calculate the total price column
worksheet.SetCellValue(dataRowCount + 2, 3, $"=SUM(D2:D{dataRowCount + 1})");

// Create a summary worksheet
var summarySheet = workbook.CreateWorkSheet("Summary");
summarySheet.SetCellValue(0, 0, "Total Products");
summarySheet.SetCellValue(0, 1, dataRowCount);

// Save in multiple formats
workbook.SaveAs("export.xlsx");
workbook.SaveAsCsv("export.csv");
workbook.SaveAsJson("export.json");
workbook.SaveAsXml("export.xml");

Console.WriteLine("Multi-format export completed!");
using IronXL;

var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// (populate worksheet with DataGridView data as shown above)
int dataRowCount = 5; // Replace with actual dataGridView1.Rows.Count

// Add a SUM formula to calculate the total price column
worksheet.SetCellValue(dataRowCount + 2, 3, $"=SUM(D2:D{dataRowCount + 1})");

// Create a summary worksheet
var summarySheet = workbook.CreateWorkSheet("Summary");
summarySheet.SetCellValue(0, 0, "Total Products");
summarySheet.SetCellValue(0, 1, dataRowCount);

// Save in multiple formats
workbook.SaveAs("export.xlsx");
workbook.SaveAsCsv("export.csv");
workbook.SaveAsJson("export.json");
workbook.SaveAsXml("export.xml");

Console.WriteLine("Multi-format export completed!");
Imports IronXL

Dim workbook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet = workbook.DefaultWorkSheet

' (populate worksheet with DataGridView data as shown above)
Dim dataRowCount As Integer = 5 ' Replace with actual dataGridView1.Rows.Count

' Add a SUM formula to calculate the total price column
worksheet.SetCellValue(dataRowCount + 2, 3, $"=SUM(D2:D{dataRowCount + 1})")

' Create a summary worksheet
Dim summarySheet = workbook.CreateWorkSheet("Summary")
summarySheet.SetCellValue(0, 0, "Total Products")
summarySheet.SetCellValue(0, 1, dataRowCount)

' Save in multiple formats
workbook.SaveAs("export.xlsx")
workbook.SaveAsCsv("export.csv")
workbook.SaveAsJson("export.json")
workbook.SaveAsXml("export.xml")

Console.WriteLine("Multi-format export completed!")
$vbLabelText   $csharpLabel

IronXL支持Excel公式,允許您直接向導出的文件中新增計算。 上面的範例新增了一個SUM公式,自動計算列總和。 建立多個工作表有助於組織複雜的導出,例如將詳細資料與摘要資訊分開。 存取IronXL如何建立Excel文件指南以獲得更多工作表管理模式。

格式靈活性在整合場景中特別有價值。 雖然XLSX是Excel文件的標準,CSV導出提供了與資料庫系統和舊應用程式的通用相容性。 JSON和XML格式促進了與Web服務和API的資料交換。您還可以打開現有工作簿以將導出的資料附加到現有電子表格中,而不是每次建立新文件。

不同的導出格式如何比較?

Excel電子表格顯示產品庫存與產品ID、名稱、類別、價格和庫存列,D9單元格中顯示1839.95的和公式結果。

Excel電子表格顯示一個

Excel電子表格顯示產品庫存資料,帶有ProductID、Product Name、Category、Price和Stock數量列,D9單元格中顯示1839.95的和。

JSON文件顯示產品資料,其中有產品ID、名稱、類別、價格和庫存字段,並在程式碼編輯器介面中顯示。

XML文件顯示導出的DataGridView資料,包含產品資訊,包括ID、名稱、類別、價格和庫存水平,組織在Sheet元素中。

IronXL如何簡化您的C#開發工作流程?

IronXL的主要優勢是消除了對Microsoft Office的依賴。 您的應用程式無論是在開發者工作站、客戶機還是Docker容器中部署都能一致運行。 這種獨立性簡化了部署並減少了與Office版本和安裝相關的支持問題。 來自Microsoft的Open XML SDK是另一種無Office替代方案,雖然與IronXL的高級API相比,需要顯著更多的樣板程式碼。 有關跨平台.NET 10開發指導,Microsoft .NET文件涵蓋了平台目標、部署模型和Windows Forms特性。

程式庫的API設計優先考慮簡單性。 與需要小心物件處理的Interop基於COM的方法不同,IronXL使用標準的.NET模式,使C#開發人員感到自然。 跨平台支持意味著為Windows Forms構建的導出功能可以在Linux伺服器上運行的ASP.NET Core應用程式中重用。 有關可用功能的完整概述,請存取IronXL功能頁面

您還可以從Excel導入資料以預填充DataGridView,然後導出,創造出使用者載入Excel資料、在網格中編輯並將結果導出回Excel的往返工作流程。 讀取Excel文件指南詳細介紹了導入方面。

當處理敏感資料時,IronXL支持工作簿級別和工作表級別的密碼保護。 IronXL文件涵蓋了必須在分發之前保護的導出文件的安全選項。

Excel程式庫功能概述,顯示六個主要類別:建立、保存和導出、編輯工作簿、處理資料、保護您的工作簿和編輯版面選項。

生產使用的授權選項是什麼?

IronXL要求有效的授權密鑰才能進行生產部署。 您可以從免費試用授權開始,它解鎖了所有功能供評估。 查看IronXL授權頁面以獲取有關從單開發者授權到無限企業部署的完整細節。

在使用任何IronXL功能之前,在應用程式中應用授權密鑰:

IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
Imports IronXL

IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
$vbLabelText   $csharpLabel

這一行激活整個應用程式過程的程式庫。 對於Web應用程式和服務,請在啟動期間設置授權密鑰,使所有請求受益於完整功能集,而無需水印。

IronXL licensing options showing four tiers: Lite ($999), Plus ($999), Professional ($1,999), and Unlimited ($3,999) with varying developer, location, and project limits

為什麼您應該選擇IronXL進行Excel導出到C#?

使用IronXL將DataGridView資料導出到Excel變得簡單。 該程式庫消除了傳統Interop的復雜性,並提供專業格式功能和多種導出格式。 其容器友好的架構、最少的依賴性和跨平台支持使其非常適合現代DevOps工作流程。

IronXL首頁是探索完整程式庫的起點。 無論是構建微服務,還是部署到Kubernetes集群或運行無伺服器功能,IronXL都可以乾淨地整合到CI/CD管道中。 導出Excel指南提供了不同導出場景的附加模式,打開工作簿指南涵蓋了讀取和修改現有文件。

免費試用授權開始探索完整功能集。 IronXL教程和程式碼範例幫助您快速實施生產就緒的解決方案。 從適合您部署需求的靈活授權選項中選擇,從單個開發者授權到無限企業部署。 若有任何有關入門的問題,IronXL文件中心提供API參考、程式碼範例和疑難排解指南。

常見問題

使用IronXL將DataGridView匯出到Excel的好處是什麼?

IronXL透過消除對微軟Office Interop的需求,簡化了將DataGridView內容匯出到Excel的過程,降低了部署的複雜性,消除了依賴性要求。

IronXL如何改善應用程式分發?

IronXL通過不需要微軟Office Interop來降低應用程式分發的複雜性,因為它通常帶有可能使部署複雜化的附加依賴項。

IronXL能否在VB.NET中匯出DataGridView資料?

是的,IronXL提供了一個實用的解決方案,用於將DataGridView資料匯出到Excel,使其在商業應用程式中更容易管理資料。

將DataGridView匯出到Excel的常見使用情況是什麼?

常見的使用情況包括生成報告、建立資料備份,以及在商業背景中與利益相關者分享資訊。

IronXL需要在系統上安裝微軟Excel嗎?

不需要,IronXL不需要微軟Excel安裝,因為它獨立於Excel運作,簡化了部署過程。

Curtis Chau
技術作家

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

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

Iron 支援團隊

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