跳過到頁腳內容
與其他組件的比較

IronXL 與 GrapeCity Excel Viewer 的比較

在 .NET 環境下使用 Excel 數據可能會導致許多問題,尤其是在互操作性方面。

Excel 是全球使用最廣泛的電子表格程序。 用戶包括開發者和普通公眾,但開發者更有可能對此內容感興趣。 最初,開發者沒有很多選擇來將 Excel 集成到他們的各種應用中。然而,Office 套件內含了 VBA(Visual Basic for Applications),允許您編輯任何 Office 產品以滿足您的需求。

開發者使用 Excel 中的 VBA 自訂他們與 XLSX 電子表格及其數據以及其視覺特性的互動。

什麼是 GrapeCity Documents for Excel?

GrapeCity Documents for Excel .NET Edition 是一個新的高性能、小體積的電子表格組件,可用於服務器或桌面應用程序。 它提供豐富的 API 來創建、操縱、轉換和共享與 Microsoft Excel 兼容的電子表格。 您還可以從幾乎任何應用程序或平台(如 Angular、React 或 Vue)中使用它來創建自定義樣式。

它具有無縫嵌入的 BI 平台 wyn,具有交互式儀表板、調度和分發工具,適用於任何內部或商業應用。

GrapeCity 的嵌入式 BI 平台提供無限高速的可視數據探索,允許普通用戶輕鬆地通過 BI 即時報告和交互式儀表板使用廣泛的數據來做數據驅動的報告解決方案。

GcExcel .NET 與多種平台兼容,包括 .NET Framework、.NET Core 和 Mono,成為滿足您所有電子表格需求的理想選擇。

GcExcel .NET 的最佳之處在於其基於介面的 API 模仿了 Excel 的文檔對象範式。 因此,用戶可以隨時導入、計算、查詢、生產和導出任何電子表格場景。此外,完整的報表、排序和篩選表、排序和篩選樞紐分析表中添加圖表、圖樣、條件格式和儀表板報表等內容可以在導入或生成的電子表格中引用。

GrapeCity Documents for Excel 提供了什麼?

  • 允許在服務器上創建、操作和序列化電子表格。
  • 低內存占用。
  • 使用強大的計算引擎執行複雜的計算。
  • 高速直觀文檔; 嵌入式商業智能。
  • 提供完整的報告解決方案。
  • 以高速提供對文檔的全面控制。
  • 生成多種格式的輸出,包括 .xlsx 和 ssjson。
  • 支持多個平台上的 .NET Framework、.NET Core 和 Mono。
  • 與 WinForms、WPF、ASP.NET 和其他環境兼容。

GrapeCity Excel — 突出特性

最新發布的版本 14.1 有很多新的和令人興奮的功能。

  • 輕量級電子表格 API 架構以提高效率

GcExcel .NET 通過改進其輕量級 API 架構的整體效率,使用戶節省大量時間、存儲內存和努力,可用於生成、加載、編輯、保存和轉換電子表格。

  • 不依賴於 MS Excel

為了使用 GcExcel .NET,用戶不需要在其系統上安裝 MS Office 套件或訪問 MS Excel。

  • 使用 SpreadJS DSheets 創建交互式體驗

GcExcel .NET 可用於電子表格,以提供完全互動和用戶友好的電子表格體驗。

  • 將附帶 Excel 電子表格的應用程序部署到雲端

使用 GcExcel .NET,您可以應用基於雲的部署,並在 Azure 和 AWS Lambda 上部署您的應用程序。

  • 形狀和圖片

使用電子表格 API,您可以在工作表的單元格上插入自定義形狀和圖片,應用格式設置、漸變填充、配置文本、插入超鏈接、設置形狀的調整點、在工作表中對它們進行分組/取消分組,確定圖像的位置和尺寸。

什麼是 IronXL?

IronXL 是一個 C# 庫,讓閱讀和編輯 Microsoft Excel 文檔變得更容易。 IronXL Excel 是一個 .NET 軟件庫,可以讀取多種電子表格格式。 它不需要安裝 Microsoft Excel,也不依賴於 Interop。

IronXL 是一個用戶友好的 C# API,讓您以極快的速度讀取、編輯和生成 .NET 中的 Excel 文件。 .NET Core、.NET Framework、Xamarin、移動、Linux、macOS 和 Azure 都受到 IronXL 的支持。

IronXL 是一個 .NET Core 和 .NET Framework 的 C# Excel 電子表格庫。

IronXL 功能集

  • 加載、讀取和編輯數據——來自 XLS/XLSX/CSV/TSV
  • 保存和導出——到 XLS/XLSX/CSV/TSV/JSON
  • System.Data Objects——將 Excel 電子表格作為 System.Data.DataSet 和 System.Data.DataTable 對象處理。
  • 公式——與 Excel 公式一起工作。 每次編輯工作表時都會重新計算公式。
  • 範圍——易於使用的工作表 ["A1:B10"] 語法。 直觀地組合和創建範圍。
  • 排序——排序範圍、列和行。
  • 样式——单元格视觉样式、字体、大小、背景图案、边框、对齐和数字格式。

安裝 GrapeCity Documents for Excel

為了在 .NET Core、ASP.NET Core 或 .NET Framework 應用程序中使用 GcExcel .NET(任何支持 .NET Standard 2.0 的目標),請按照以下步驟在應用程序中安裝 NuGet 包:

要查找並安裝 GrapeCity.Documents.Excel NuGet 包:

  1. 在解決方案資源管理器中,從依賴關係或項目的上下文菜單中選擇管理 NuGet 包。
  2. 在瀏覽選項卡中從包源下拉列表中選擇 nuget.org。
  3. 在瀏覽選項卡的搜索文本框頂部輸入 "grapecity.documents" 或 "GrapeCity.Documents",搜尋包 "GrapeCity.Documents.Excel"。
class="content-img-align-center">
class="center-image-wrapper"> NuGet 包管理器對話框
  1. 點擊 安裝GrapeCity.Documents.Excel 包及其依賴項安裝到項目中。 安裝完成後,確保您在解決方案資源管理器中檢查 NuGet 文件夾,並確認 GrapeCity.Documents.Excel 包是否已添加到您的項目依賴中。
class="content-img-align-center">
class="center-image-wrapper"> NuGet 文件夾

IronXL C# 庫安裝

您可以使用以下方法下載並安裝 IronXL 函式庫:

  • 使用帶有 NuGet 包的 Visual Studio。
  • 直接下載 NuGet 包。
  • 手動安裝 DLL。

讓我們看看每一個的詳細資訊。

使用帶有 NuGet 包的 Visual Studio

Visual Studio 提供 NuGet 包管理器來在專案中安裝 NuGet 套件。 您可以通過專案選單訪問它,或者在方案資源管理器中右鍵單擊您的項目。

class="content-img-align-center">
class="center-image-wrapper"> 選擇管理 NuGet 包
  • 接下來,從瀏覽選項卡 -> 搜索 IronXL.Excel -> 安裝
class="content-img-align-center">
class="center-image-wrapper"> 搜索 IronXL
  • 完成。
class="content-img-align-center">
class="center-image-wrapper"> Grapecity Excel Viewer Alternatives 5 related to 使用帶有 NuGet 包的 Visual Studio

使用 NuGet 包管理器控制台

下載和安裝 Microsoft.Office.Interop.Excel C# 庫的另一種方法是使用以下步驟通過開發人員命令提示符安裝 NuGet 包。

  • 開啟 開發人員命令提示符 — 通常位於 Visual Studio 文件夾中。
  • 輸入以下命令:
Install-Package Microsoft.Office.Interop.Excel
  • 按 Enter。
  • 這將下載並安裝包。
  • 重新加載您的 Visual Studio 項目並開始使用它。

添加必要的 using 指令

  1. 在 Solution Explorer 中,右鍵點擊 Program.cs 文件,然後點擊查看代碼。
  2. 在代碼文件的頂部添加以下命名空間指令:
using Excel = Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;
Imports Excel = Microsoft.Office.Interop.Excel
$vbLabelText   $csharpLabel

創建 Excel 工作簿和表單

一個工作簿是一個包含許多工作表的 Excel 文件。 所有庫都可創建新 Excel 工作簿和表單。 讓我們一步一步地查看代碼。

使用 IronXL 創建 Excel 文件

使用 IronXL 創建新 Excel 工作簿再簡單不過了。 只需一行代碼! 是的,真的。 將以下代碼添加到 Program.cs 文件中的靜態 void 主函數:

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

IronXL 可以創建 XLS (較舊的 Excel 文件版本) 和 XLSX (當前且較新的文件版本) 文件格式。

並且更簡單的創建默認工作表:

var worksheet = workbook.CreateWorkSheet("IronXL Features");
var worksheet = workbook.CreateWorkSheet("IronXL Features");
Dim worksheet = workbook.CreateWorkSheet("IronXL Features")
$vbLabelText   $csharpLabel

您現在可以利用工作表變量來設置單元格值並執行幾乎所有 Excel 文件可以做的事情。

使用服務端 Excel API GrapeCity Excel 創建 Excel 文件

GrapeCity Documents for Excel(或 GcExcel)是一個服務端的 Excel API,允許您在任何 .NET 標準應用中創建、加載、保存、轉換、計算、格式化、解析和導出電子表格。 GcExcel 可以沒有任何 Excel 依賴地部署到 Azure 感謝其對 Windows、Linux 和 Mac 的完整 .NET5 支持。

GcExcel 允許您在不用 MS Excel 的情況下創建和生成服務器端 Excel 電子表格。

  • 在功能中使用 GcExcel 創建工作簿。
  • 將工作簿轉換為 JSON 後返回到客戶端。

在此示例中,我們僅僅製作了一個 BidTracker.xlsx 電子表格。 此示例顯示了可以用 GcExcel 編寫的額外服務器端功能。

[HttpGet("{caseName}")]
public IActionResult GetSSJsonFromUseCase(string caseName)
{
    Workbook workbook = CreateWorkbookByCaseName(caseName);
    var ssjson = workbook.ToJson();
    return Ok(ssjson);
}

private Workbook CreateWorkbookByCaseName(string caseName)
{
    switch (caseName)
    {
        case "BidTracker":
            return GetBidTracker();
        default:
            break;
    }

    return new Workbook();
}
[HttpGet("{caseName}")]
public IActionResult GetSSJsonFromUseCase(string caseName)
{
    Workbook workbook = CreateWorkbookByCaseName(caseName);
    var ssjson = workbook.ToJson();
    return Ok(ssjson);
}

private Workbook CreateWorkbookByCaseName(string caseName)
{
    switch (caseName)
    {
        case "BidTracker":
            return GetBidTracker();
        default:
            break;
    }

    return new Workbook();
}
<HttpGet("{caseName}")>
Public Function GetSSJsonFromUseCase(ByVal caseName As String) As IActionResult
	Dim workbook As Workbook = CreateWorkbookByCaseName(caseName)
	Dim ssjson = workbook.ToJson()
	Return Ok(ssjson)
End Function

Private Function CreateWorkbookByCaseName(ByVal caseName As String) As Workbook
	Select Case caseName
		Case "BidTracker"
			Return GetBidTracker()
		Case Else
	End Select

	Return New Workbook()
End Function
$vbLabelText   $csharpLabel

編輯 Excel 文件

開發人員在開始在 C# 中修改和編輯 Excel 文件時必須格外小心,因為可能因一個失誤改變整個文檔。 能夠依賴於簡單且有效的代碼行可以幫助減少錯誤的風險,使我們更容易以編程方式更新或刪除 Excel 文件。 今天,我們將走過準確和快速地使用 C# 編輯 Excel 文件的過程,使用已測試的功能。

用 GrapeCity Excel 編輯 Excel 文件

讓我們開始使用 GcExcel 來解決這些問題。

您拿到了一個看起來這樣的電子表格:

class="content-img-align-center">
class="center-image-wrapper"> Grapecity Excel Viewer Alternatives 6 related to 用 GrapeCity Excel 編輯 Excel 文件

首先,我們要格式化工作表:

  • 更改工作表標題和總收入單元格的字體屬性。
  • 更改表格、表格列和單元格樣式。

讓我們來看看使用 GcExcel 如何做到這一點。

步驟 1:載入現有的 Excel 電子表格

編寫以下代碼將現有的電子表格加載到您的 GcExcel 工作簿中:

Workbook workbook = new Workbook();
workbook.Open("EventBudget.xlsx");
Workbook workbook = new Workbook();
workbook.Open("EventBudget.xlsx");
Dim workbook As New Workbook()
workbook.Open("EventBudget.xlsx")
$vbLabelText   $csharpLabel

步驟 2:獲取您要修改的工作表

IWorksheet worksheet = workbook.ActiveWorksheet;
IWorksheet worksheet = workbook.ActiveWorksheet;
Dim worksheet As IWorksheet = workbook.ActiveWorksheet
$vbLabelText   $csharpLabel

步驟 3:修改標題的字體屬性

更改 B2(字體大小)和 E4(設置為粗體)單元格的字體屬性:

// Change range B2's font size.
worksheet.GetRange("B2").Font.Size = 22;

// Change range E4's font style to bold.
worksheet.GetRange("E4").Font.Bold = true;
// Change range B2's font size.
worksheet.GetRange("B2").Font.Size = 22;

// Change range E4's font style to bold.
worksheet.GetRange("E4").Font.Bold = true;
' Change range B2's font size.
worksheet.GetRange("B2").Font.Size = 22

' Change range E4's font style to bold.
worksheet.GetRange("E4").Font.Bold = True
$vbLabelText   $csharpLabel

步驟 4:修改表格樣式

將四個表格的樣式設置為內建樣式。

worksheet.Tables["tblAdmissions"].TableStyle = workbook.TableStyles["TableStyleLight10"];
worksheet.Tables["tblAds"].TableStyle = workbook.TableStyles["TableStyleLight10"];
worksheet.Tables["tblVendors"].TableStyle = workbook.TableStyles["TableStyleLight10"];
worksheet.Tables["tblItems"].TableStyle = workbook.TableStyles["TableStyleLight10"];
worksheet.Tables["tblAdmissions"].TableStyle = workbook.TableStyles["TableStyleLight10"];
worksheet.Tables["tblAds"].TableStyle = workbook.TableStyles["TableStyleLight10"];
worksheet.Tables["tblVendors"].TableStyle = workbook.TableStyles["TableStyleLight10"];
worksheet.Tables["tblItems"].TableStyle = workbook.TableStyles["TableStyleLight10"];
worksheet.Tables("tblAdmissions").TableStyle = workbook.TableStyles("TableStyleLight10")
worksheet.Tables("tblAds").TableStyle = workbook.TableStyles("TableStyleLight10")
worksheet.Tables("tblVendors").TableStyle = workbook.TableStyles("TableStyleLight10")
worksheet.Tables("tblItems").TableStyle = workbook.TableStyles("TableStyleLight10")
$vbLabelText   $csharpLabel

步驟 5:修改單元格範圍樣式

修改總收入單元格樣式。 Interior 屬性可幫助設置 ThemeColorTintAndShade 屬性。 您還可以使用 Font 屬性更改整個範圍的字體。 此外,此代碼可以設置單元格範圍邊框。

由於電子表格顯示了預算數據,因此設置單元範圍的數字格式為貨幣。

// Modify range F4:G5's cell style.
worksheet.GetRange("F4:G5").Interior.ThemeColor = ThemeColor.Light1;
worksheet.GetRange("F4:G5").Interior.TintAndShade = -0.15;
worksheet.GetRange("F4:G5").Font.ThemeFont = ThemeFont.Major;
worksheet.GetRange("F4:G5").Font.Size = 12;
worksheet.GetRange("F4:G5").Borders[BordersIndex.InsideHorizontal].LineStyle = BorderLineStyle.None;
worksheet.GetRange("F5:G5").NumberFormat = "$#,##0.00";
// Modify range F4:G5's cell style.
worksheet.GetRange("F4:G5").Interior.ThemeColor = ThemeColor.Light1;
worksheet.GetRange("F4:G5").Interior.TintAndShade = -0.15;
worksheet.GetRange("F4:G5").Font.ThemeFont = ThemeFont.Major;
worksheet.GetRange("F4:G5").Font.Size = 12;
worksheet.GetRange("F4:G5").Borders[BordersIndex.InsideHorizontal].LineStyle = BorderLineStyle.None;
worksheet.GetRange("F5:G5").NumberFormat = "$#,##0.00";
' Modify range F4:G5's cell style.
worksheet.GetRange("F4:G5").Interior.ThemeColor = ThemeColor.Light1
worksheet.GetRange("F4:G5").Interior.TintAndShade = -0.15
worksheet.GetRange("F4:G5").Font.ThemeFont = ThemeFont.Major
worksheet.GetRange("F4:G5").Font.Size = 12
worksheet.GetRange("F4:G5").Borders(BordersIndex.InsideHorizontal).LineStyle = BorderLineStyle.None
worksheet.GetRange("F5:G5").NumberFormat = "$#,##0.00"
$vbLabelText   $csharpLabel

步驟 6:修改表格列樣式

由於表格列範圍不同,在表的不同列範圍上設置 ThemeColorTintAndShade 屬性和 NumberFormat

worksheet.GetRange("F8:G11, F15:G18, F22:G25, F29:G33").Interior.ThemeColor = ThemeColor.Light1;
worksheet.GetRange("F8:G11, F15:G18, F22:G25, F29:G33").Interior.TintAndShade = -0.15;
worksheet.GetRange("E8:G11, E15:G18, E22:G25, E29:G33").NumberFormat = "$#,##0.00";
worksheet.GetRange("F8:G11, F15:G18, F22:G25, F29:G33").Interior.ThemeColor = ThemeColor.Light1;
worksheet.GetRange("F8:G11, F15:G18, F22:G25, F29:G33").Interior.TintAndShade = -0.15;
worksheet.GetRange("E8:G11, E15:G18, E22:G25, E29:G33").NumberFormat = "$#,##0.00";
worksheet.GetRange("F8:G11, F15:G18, F22:G25, F29:G33").Interior.ThemeColor = ThemeColor.Light1
worksheet.GetRange("F8:G11, F15:G18, F22:G25, F29:G33").Interior.TintAndShade = -0.15
worksheet.GetRange("E8:G11, E15:G18, E22:G25, E29:G33").NumberFormat = "$#,##0.00"
$vbLabelText   $csharpLabel

步驟 7:保存 Excel 文件

// Save to an Excel file
workbook.Save("EventBudget.xlsx");
// Save to an Excel file
workbook.Save("EventBudget.xlsx");
' Save to an Excel file
workbook.Save("EventBudget.xlsx")
$vbLabelText   $csharpLabel

恭喜! 您已完全更改文檔的格式。 運行應用程序後,您的 Excel 電子表格看起來像這樣:

class="content-img-align-center">
class="center-image-wrapper"> 在 Java 應用中創建、修改和保存 Excel 電子表格

使用 IronXL 編輯 Excel 文件

一旦安裝了 IronXL,讓我們來解決使用它編輯 Excel 文件的過程。

編輯特定單元格的值

首先,我們將看看如何更改 Excel 電子表格中某些單元格的值。

我們透過導入需要更改的 Excel 電子表格並訪問其工作表來做到這一點。 然後,我們根據以下所示進行更改。

using IronXL;

static void Main(string[] args)
{
    // Import Excel Spreadsheet
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Access specific worksheet
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Access specific cell and modify its value
    ws.Rows[3].Columns[1].Value = "New Value";

    // Save changes
    wb.SaveAs("sample.xlsx");
}
using IronXL;

static void Main(string[] args)
{
    // Import Excel Spreadsheet
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Access specific worksheet
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Access specific cell and modify its value
    ws.Rows[3].Columns[1].Value = "New Value";

    // Save changes
    wb.SaveAs("sample.xlsx");
}
Imports IronXL

Shared Sub Main(ByVal args() As String)
	' Import Excel Spreadsheet
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

	' Access specific worksheet
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	' Access specific cell and modify its value
	ws.Rows(3).Columns(1).Value = "New Value"

	' Save changes
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

以下是 Excel 電子表格 sample.xlsx 的前後截圖:

class="content-img-align-center">
class="center-image-wrapper"> 前
class="content-img-align-center">
class="center-image-wrapper"> 後

我們可以看到修改 Excel 電子表格值是多麼簡單。

如果需要,還有一種替代方法,可以通過單元格地址編輯特定單元格的值:

// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
' Alternative way to access specific cell and apply changes
ws("B4").Value = "New Value"
$vbLabelText   $csharpLabel

編輯全行的值

使用靜態值編輯 Excel 電子表格中的全行值非常簡單。

using IronXL;

static void Main(string[] args)
{    
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Set full row value
    ws.Rows[3].Value = "New Value";

    wb.SaveAs("sample.xlsx");
}
using IronXL;

static void Main(string[] args)
{    
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Set full row value
    ws.Rows[3].Value = "New Value";

    wb.SaveAs("sample.xlsx");
}
Imports IronXL

Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	' Set full row value
	ws.Rows(3).Value = "New Value"

	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

請查看下面的 sample.xlsx 即時圖片:

class="content-img-align-center">
class="center-image-wrapper"> 前
class="content-img-align-center">
class="center-image-wrapper"> 後

為此,我們還可以使用範圍函數編輯行的特定範圍的值:

// Modify specific range within a row
ws["A3:E3"].Value = "New Value";
// Modify specific range within a row
ws["A3:E3"].Value = "New Value";
' Modify specific range within a row
ws("A3:E3").Value = "New Value"
$vbLabelText   $csharpLabel

編輯整列的值

與上述方式相同,我們可以輕鬆地用單一值編輯 Excel 電子表格的整列。

using IronXL;

static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Set full column value
    ws.Columns[1].Value = "New Value";

    wb.SaveAs("sample.xlsx");
}
using IronXL;

static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Set full column value
    ws.Columns[1].Value = "New Value";

    wb.SaveAs("sample.xlsx");
}
Imports IronXL

Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	' Set full column value
	ws.Columns(1).Value = "New Value"

	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

這將產生以下的 sample.xlsx 電子表格:

class="content-img-align-center">
class="center-image-wrapper"> 後

用動態值編輯整行

使用 IronXL,還可以用動態值編輯特定行。 這意味著我們可以透過為每個單元格分配動態值來編輯整行。 讓我們看看例子:

using IronXL;

static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    for (int i = 0; i < ws.Columns.Count(); i++)
    {
        // Set cell value dynamically based on column index
        ws.Rows[3].Columns[i].Value = "New Value " + i.ToString();
    }

    wb.SaveAs("sample.xlsx");
}
using IronXL;

static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    for (int i = 0; i < ws.Columns.Count(); i++)
    {
        // Set cell value dynamically based on column index
        ws.Rows[3].Columns[i].Value = "New Value " + i.ToString();
    }

    wb.SaveAs("sample.xlsx");
}
Imports IronXL

Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	For i As Integer = 0 To ws.Columns.Count() - 1
		' Set cell value dynamically based on column index
		ws.Rows(3).Columns(i).Value = "New Value " & i.ToString()
	Next i

	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

在下表中,我們可以看到來自此輸出的 Excel 電子表格 sample.xlsx 的截圖:

class="content-img-align-center">
class="center-image-wrapper"> 前
class="content-img-align-center">
class="center-image-wrapper"> 後

用動態值編輯整列

編輯特定列中的動態值也很容易。

using IronXL;

static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    for (int i = 0; i < ws.Rows.Count(); i++)
    {
        // Skip header row
        if (i == 0) continue;

        // Set cell value dynamically based on row index
        ws.Rows[i].Columns[1].Value = "New Value " + i.ToString();
    }

    wb.SaveAs("sample.xlsx");
}
using IronXL;

static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    for (int i = 0; i < ws.Rows.Count(); i++)
    {
        // Skip header row
        if (i == 0) continue;

        // Set cell value dynamically based on row index
        ws.Rows[i].Columns[1].Value = "New Value " + i.ToString();
    }

    wb.SaveAs("sample.xlsx");
}
Imports IronXL

Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	For i As Integer = 0 To ws.Rows.Count() - 1
		' Skip header row
		If i = 0 Then
			Continue For
		End If

		' Set cell value dynamically based on row index
		ws.Rows(i).Columns(1).Value = "New Value " & i.ToString()
	Next i

	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

以下是 sample.xlsx 的表格結果:

class="content-img-align-center">
class="center-image-wrapper"> 前
class="content-img-align-center">
class="center-image-wrapper"> 後

將電子表格轉換為 PDF、XML 和 JSON

您是否正在使用 Excel API 在 Java 應用程序中生成電子表格? 當您處理數據時,有時您不希望將數據存儲在 Excel 電子表格中。 相反,您需要一個 PDF。

有幾個原因不想將數據存儲在 Excel 電子表格中:

  • 您需要長期保存。
  • 系統上未安裝 Microsoft Office,但仍然希望打印或分發您的 Excel 電子表格。
  • 您需要共享電子表格並保留格式。 您需要您的 Excel 電子表格在不同系統上打開時看起來完全相同。

使用 GrapeCity 將電子表格轉換為 PDF

GrapeCity Documents for Excel, Java Edition(GcExcel Java)是一個高速、小內存占用的電子表格 API,不需要 Excel 依賴。 在 Windows、Linux 和 Mac 完整兼容的情況下,您可生成、加載、修改、保存電子表格,然後將它們轉換為 PDF。

在 Java 應用程序中將電子表格轉換為 PDF 的三個步驟如下:

  1. 在 GcExcel 工作簿中加載現有的 Excel 電子表格
  2. 添加 PDFBox 作為庫
  3. 將電子表格轉換為 PDF

步驟 1:在 GcExcel 工作簿中加載現有的 Excel 電子表格

創建 GcExcel 工作簿對象並加載現有的電子表格。

class="content-img-align-center">
class="center-image-wrapper"> 使用 Excel API 在 Java Apps 中將電子表格轉換為PDF
Workbook workbook = new Workbook();
workbook.Open("FinancialKPI.xlsx");
Workbook workbook = new Workbook();
workbook.Open("FinancialKPI.xlsx");
Dim workbook As New Workbook()
workbook.Open("FinancialKPI.xlsx")
$vbLabelText   $csharpLabel

步驟 2:添加 PDFBox 作為庫

GcExcel Java 引用 PDFBox 來將電子表格轉換為 PDF。 PDFBox 同時依賴於 FontBox 和 Commons Logging 包。

按照這些步驟可以將這些 JAR 文件作為庫添加到項目中:

  1. 下載包—PDFBox、FontBox、Commons Logging JAR 文件。
  2. 在項目的 'src' 文件夾下添加 'libs' 文件夾。
  3. 將這三個 JAR 文件複製到 'libs' 文件夾中。
  4. 右鍵點擊 'libs' 文件夾並選擇 '添加作為庫' 選項。
  5. 點擊確認。

備註:上面步驟僅在項目為原始 Java 控制台項目時需要。 如果該項目是 Maven 或 Gradle 項目,只需要添加 GcExcel Java 依賴就足夠了。 Maven 或 Gradle 將自動下載並安裝所有依賴的 JAR。

在某些版本的 Maven 中,您可能會遇到添加上述 JAR 文件的依賴錯誤。 為了解決此問題,請在 pom.xml 中的 dependencies 之前添加以下節點:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <extensions>true</extensions>
        </plugin>
    </plugins>
</build>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <extensions>true</extensions>
        </plugin>
    </plugins>
</build>
XML

步驟 3:將電子表格轉換為 PDF

使用以下代碼將電子表格保存為 PDF:

workbook.Save("FinancialKPI.pdf", SaveFileFormat.Pdf);
workbook.Save("FinancialKPI.pdf", SaveFileFormat.Pdf);
workbook.Save("FinancialKPI.pdf", SaveFileFormat.Pdf)
$vbLabelText   $csharpLabel

您的 PDF 看起來像這樣:

class="content-img-align-center">
class="center-image-wrapper"> 使用 Excel API 將電子表格轉換為PDF 在 Java Apps
class="content-img-align-center">
class="center-image-wrapper"> 使用 Excel API 將電子表格轉換為PDF 在 Java Apps

使用 IronXL 將電子表格轉換為 XML 和 JSON

以下代碼展示了如何用 IronXL 將 Excel 文件導出為 XML 或 JSON 文件。 以下代碼展示了如何使用 IronXL 創建新 Excel 文件並保存。

包括命名空間:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

添加接下來的幾行:

private void ExportToXmlJson()
{        
    WorkBook workbook = WorkBook.Load("IronXL_Output.xlsx");

    // Export to JSON
    workbook.SaveAsJson("IronXL_Output.json");

    // Export to XML
    workbook.SaveAsXml("IronXL_Output.xml");
}
private void ExportToXmlJson()
{        
    WorkBook workbook = WorkBook.Load("IronXL_Output.xlsx");

    // Export to JSON
    workbook.SaveAsJson("IronXL_Output.json");

    // Export to XML
    workbook.SaveAsXml("IronXL_Output.xml");
}
Private Sub ExportToXmlJson()
	Dim workbook As WorkBook = WorkBook.Load("IronXL_Output.xlsx")

	' Export to JSON
	workbook.SaveAsJson("IronXL_Output.json")

	' Export to XML
	workbook.SaveAsXml("IronXL_Output.xml")
End Sub
$vbLabelText   $csharpLabel

在這裡,載入了一個現有的 Excel 工作簿對象,然後將其導出為 JSON 和 XML 格式。

許可證和定價

IronXL 授權和定價

IronXL 是商業開放式的 C# Excel 函式庫。 它對於開發者是免費的,並且可以始終授權用於商業部署。 提供針對單項目使用、單開發者、代理商和跨國組織的許可,還有 SaaS 和 OEM 的重新分發。 所有許可都包含 30 天退款保證、一年的軟件支持和升級、開發/過渡/生成的有效期以及永久許可(一途購買)。 Lite 套裝從 $799 開始。

GrapeCity 授權和定價

另一方面,GrapeCity Excel 也是一個商業的 Excel 庫; 不提供任何免費服務。 GrapeCity Documents 的定價從一年 $999 的固定費率開始。 他們還提供免費試用。 他們的授權分四個包:

開發者許可(1 開發者,1地點)

一個 (1) 開發者可以在一個 (1) 地點使用 GrapeCity Documents,持有開發者許可(定義為一個實際地址或辦公樓)。 多個地點被認為是雲端部署; 請查看無限許可以獲取更多信息。

開發者無限許可(1 開發者,無限地點或雲端)

一個 (1) 開發者可使用 GrapeCity Documents 在無限地點(指定為一個實際地址或辦公樓)或雲端,擁有開發者無限許可。

團隊無限許可(2-5 開發者,無限地點或雲端)

最多五 (5) 位開發者可在無限地點(指定為實際地址或辦公樓)或雲端使用 GrapeCity Documents,擁有團隊無限許可。

OEM 和 SaaS 許可(6 或更多開發者)

這可以通過聯系銷售支持設置。

結論

在 .NET 應用程序和網站中,IronXL for .NET 允許開發者讀取、生成和修改 Excel(和其他電子表格文件)。 可讀取和編輯 XLS/XLSX/CSV/TSV,並保存導出為 XLS/XLSX/CSV/TSV/JSON。 與 .NET Framework、.NET Core 和 Azure 兼容。 All of this is accomplished without the need for additional dependencies or the installation of Microsoft Office. If you've ever felt that Excel is getting in the way of your .NET office management skills, IronXL is here to help. This is why we built the C# Excel library, which allows you to read, generate, and modify Excel files in .NET apps and websites as a successful developer.

GcExcel(GrapeCity Documents for Excel)是一個快速的小內存占用的電子表格 API,不需要 Excel。 您可以在 .NET Framework、.NET Core、Mono 和 Xamarin 生成、加載、改變和轉換電子表格,還有完整的 .NET Standard 2.0 支持。 這個電子表格 API 可以用於為雲端、Windows、Mac 和 Linux 構建應用程序。 您永遠不必因設計或要求作出妥協,因為其複雜的計算引擎和多樣的功能範圍。

GrapeCity Excel 授權起價 $995 每位開發者,與 IronXL 的 $799 相比,其優勢是免版稅和無限多用戶計劃,當您為大量開發者購買時比 GcExcel 更便宜,GcExcel 最多有 6 個用戶的超級多用戶計劃。

IronXL 在其他 C# 替代品中因其處理 Excel 文檔的效率而備受推崇。 IronXL 也因其運行方式而脫穎而出,鼓勵更短的代碼行。

Iron Software 目前正在為所有用戶和客戶提供選擇,以兩次點擊獲得整個 Iron Software 套件——僅用兩個套裝的價格即可即刻獲得所有五個套裝並獲得不間斷的支持。

[{i:(GrapeCity Documents for Excel 是其各自所有者的註冊商標。 本網站與 GrapeCity Documents for Excel 無隸屬、擔保與贊助。 所有產品名稱、徽標和品牌均為其各自所有者的財產。 比較僅供參考,反映撰寫時公開可用的信息。

常見問題解答

GrapeCity 的Excel 查看器对于C# 开发人员有什么替代方案?

IronXL 是C# 开发人员一种受欢迎的GrapeCity Excel 查看器替代方案。它无需Microsoft Excel即可简化读取和编辑Excel 文档,支持多种格式和平台,并提供有效的数据处理功能。

如何在C# 语言中读取和编辑Excel 文档而不安装Microsoft Excel?

您可以使用IronXL 在C# 中读取和编辑Excel 文档而无需Microsoft Excel。 IronXL 支持多种电子表格格式,并可以在不同平台上高效处理操作。

IronXL 在哪些平台上支持Excel 操作?

IronXL 支持.NET Core、.NET Framework、Xamarin、Mobile、Linux、macOS 和Azure,使其在各种开发环境中具有多功能性。

IronXL 如何處理 Excel 公式?

IronXL 通过确保每次编辑工作表时重新计算公式来支持Excel 公式,允许动态数据操作和准确的数据结果。

我可以使用IronXL 将Excel 数据导出为JSON 或XML 吗?

是的,IronXL 提供将Excel 数据导出为JSON 和XML 等格式的功能,方便数据集成和转换任务。

IronXL 的许可选项有哪些?

IronXL 提供免版税的许可选项,专注于多用户计划,为团队和各种应用程序提供成本效益的解决方案。

GrapeCity Documents for Excel 的亮点是什么?

GrapeCity Documents for Excel 提供轻量级API,高速数据处理和与多个格式(如.xlsx 和ssjson)的兼容性,以及与业务智能工具无缝集成。

IronXL 和GrapeCity Documents for Excel 在价格上有何不同?

GrapeCity Documents for Excel 每年的起步价为999 美元,而IronXL 提供更灵活且具有成本效益的无版税许可选项,特别适合多用户环境。

开发人员为什么可能选择IronXL 而不是GrapeCity 来进行Excel 操作?

开发人员可能会选择IronXL 因为其简单性、效率和在处理Excel 文档方面的操作便捷性,特别是对于需要快速和简单文档处理的应用程序。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。