与其他组件比较

IronXL 与葡萄城 Excel Viewer 之间的比较

雷根·彭
雷根·彭
2022年六月9日
分享:

在.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 Suite 或在系统上访问 MS Excel。

  • 使用 SpreadJS DSheets 创建互动体验

    GcExcel .NET 可与电子表格一起使用,带来完全交互式和用户友好的电子表格体验。

  • 将使用Excel电子表格的应用程序部署到云端

    使用 GcExcel .NET,您可以应用基于云的部署,并在 Azure 和 AWS Lambda 上部署应用程序。

  • 形状和图片

    通过电子表格 API,您可以在工作表的单元格中插入和自定义形状和图片,应用格式化、渐变填充、配置文本、插入超链接、设置形状的调整点、在工作表中分组/解组形状和图片,以及确定图片的位置和大小。

什么是IronXL?

IronXL.Excel 是一个 C# 库,能让阅读和编辑 Microsoft Excel 文档变得更容易。 IronXL. Excel 是一个 .NET 软件库,可以读取各种电子表格格式。 翻译不需要安装 Microsoft Excel,也不依赖 Interop。

IronXL for .NET 是一个用户友好的 C# API,可让您在 .NET 中以极快的速度读取、编辑和生成 Excel 文件。 IronXL 支持 .NET Core、.NET Framework、Xamarin、Mobile、Linux、macOS 和 Azure。

IronXL 是适用于 .NET Core 和 .NET Framework 的 C# Excel 电子表格库。

IronXL 功能集

  • 从 XLS/XLSX/CSV/TSV 加载、读取和编辑数据
  • 保存和导出 - 至 XLS/XLSX/CSV/TSV/JSON
  • System.Data 对象 - 将 Excel 电子表格作为 System.Data.DataSet 和 System.Data.DataTable 对象处理。
  • 公式 - 可使用 Excel 公式。 每次编辑工作表都会重新计算公式。
  • 范围 — 易于使用的工作表 ["A1:B10"] 语法。 直观地组合和创建范围。
  • 排序 - 对范围、列和行进行排序。
  • 样式 - 单元视觉样式、字体、大小、背景图案、边框、对齐方式和数字格式。

安装 GrapeCity Documents for Excel

为了在 .NET Core、ASP .NET Core 或 .NET Framework 应用程序(任何支持 .NET Standard 2.0 的目标)中使用 GcExcel .NET,请按照以下步骤在您的应用程序中安装 NuGet 包:

查找并安装 GrapeCity.Documents.Excel NuGet 软件包

  1. 从 "解决方案资源管理器 "中依赖项或项目的上下文菜单中选择 "管理 NuGet 包"。

  2. 从 "浏览 "选项卡的 "软件包源 "下拉菜单中选择 nuget.org。

  3. 在浏览选项卡中,在顶部的搜索文本框中输入 "grapecity.documents "或 "GrapeCity.Documents",搜索软件包 "GrapeCity.Documents.Excel"。

    NuGet 包管理器对话框
  4. 单击安装以在项目中安装GrapeCity.Documents.Excel包及其依赖项。 安装完成后,请确保检查解决方案资源管理器中的 NuGet 文件夹,并确认 GrapeCity.Documents.Excel 软件包是否已添加到项目依赖关系中。
    NuGet 文件夹

IronXL C# 库安装

您可以使用以下方法下载并安装 IronXL 库:

  • 使用 Visual Studio 和 NuGet 软件包。
  • 直接下载 NuGet 软件包。
  • 使用 DLL 手动安装。

    让我们逐一进行详细了解。

使用 Visual Studio 与 NuGet 软件包

Visual Studio 提供了 NuGet 包管理器,用于在项目中安装 NuGet 包。 您可以通过项目菜单或右键单击解决方案资源管理器中的项目来访问它。

选择管理NuGet包
  • 然后,从 "浏览 "选项卡 -> 搜索 IronXL.Excel -> 安装

    搜索 IronXL
  • 我们就大功告成了。
    Grapecity Excel Viewer Alternatives 5 related to 使用 Visual Studio 与 NuGet 软件包

使用 NuGet 软件包管理器控制台

下载和安装 Microsoft.Office.Interop.Excel C# 库的另一种方法是利用以下步骤,通过开发人员命令提示符安装 NuGet 软件包。

  • 打开开发者命令提示符 — 通常在 Visual Studio 文件夹中找到。
  • 键入以下命令

PM> 安装软件包 Microsoft.Office.Interop.Excel

* 按下回车键。
* 这将下载并安装软件包。
* 重新加载您的 Visual Studio 项目并开始使用。

### 添加必要的使用指令

1. 在解决方案资源管理器中,右键单击 Program.cs 文件,然后单击查看代码。

2. 在代码文件顶部添加以下 using 指令:

使用 Excel = Microsoft.Office.Interop.Excel;


## 创建 Excel 工作簿和工作表

工作簿是包含多行多列工作表的 Excel 文件。 两个库都可以创建新的 Excel 工作簿和工作表。 让我们逐步了解一下代码。

### 使用 IronXL.Excel 创建 Excel 文件

使用 IronXL.Excel 创建一个新的 Excel 工作簿再简单不过了。 只需一行代码! 是的,真的。 在 Program.cs 文件的 static void main 函数中添加以下代码:

```cs
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

使用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 创建 Excel 文件 GrapeCity excel

GrapeCity Documents for Excel(或 GcExcel)是一款服务器端 Excel API,允许在任何 .NET Standard 应用程序中创建、加载、保存、转换、计算、格式化、解析和导出电子表格。 由于 Windows、Linux 和 Mac 完全支持 .NET5,GcExcel 可以部署到 Azure,而无需依赖任何 Excel。

GcExcel 允许您创建和生成服务器端 Excel 电子表格,而无需使用 MS 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 和 Java 来解决这些问题。

交给您的电子表格是这样的:

Grapecity Excel Viewer Alternatives 6 related to 使用 GrapeCity Excel 编辑 Excel 文件

首先,我们要对表格进行格式化:

  • 更改工作表标题和总收入单元格的字体属性。
  • 更改表格、表格列和单元格样式。

    让我们看看如何使用 GcExcel 和 Java 来实现这一目标。

    步骤 1:加载现有 Excel 电子表格

    编写以下代码,将现有电子表格加载到 GcExcel 工作簿中:

Workbook workbook = new Workbook();
workbook.open("Event budget.xlsx");
Workbook workbook = new Workbook();
workbook.open("Event budget.xlsx");
Dim workbook As New Workbook()
workbook.open("Event budget.xlsx")
$vbLabelText   $csharpLabel

步骤 2:获取您想要修改的工作表

IWorksheet worksheet = workbook.getActiveSheet();
IWorksheet worksheet = workbook.getActiveSheet();
Dim worksheet As IWorksheet = workbook.getActiveSheet()
$vbLabelText   $csharpLabel

步骤 3:修改标题的字体属性

更改单元格B2的字体属性(字体大小)和E4(设置为粗体):

//change range B2s font size.
worksheet.getRange("B2").getFont().setSize(22);

//change range E4s font style to bold.
worksheet.getRange("E4").getFont().setBold(true);
//change range B2s font size.
worksheet.getRange("B2").getFont().setSize(22);

//change range E4s font style to bold.
worksheet.getRange("E4").getFont().setBold(true);
'change range B2s font size.
worksheet.getRange("B2").getFont().setSize(22)

'change range E4s font style to bold.
worksheet.getRange("E4").getFont().setBold(True)
$vbLabelText   $csharpLabel

步骤 4:修改表格样式

将四个表格的样式设置为内置样式。

worksheet.getTables().get("tblAdmissions").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"));
worksheet.getTables().get("tblAds").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"));
worksheet.getTables().get("tblVendors").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"));
worksheet.getTables().get("tblItems").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"));
worksheet.getTables().get("tblAdmissions").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"));
worksheet.getTables().get("tblAds").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"));
worksheet.getTables().get("tblVendors").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"));
worksheet.getTables().get("tblItems").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"));
worksheet.getTables().get("tblAdmissions").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"))
worksheet.getTables().get("tblAds").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"))
worksheet.getTables().get("tblVendors").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"))
worksheet.getTables().get("tblItems").setTableStyle(workbook.getTableStyles().get("TableStyleLight10"))
$vbLabelText   $csharpLabel

步骤 5:修改单元格范围样式

修改总收入单元格的单元格样式。 getInterior() 方法可以帮助您设置 ThemeColor 和 TintAndShade 属性。 您还可以使用 getFont() 方法更改整个范围的字体。 此外,该代码还可以设置单元格范围的边界。

由于电子表格显示的是预算数据,因此要将单元格区域的数字格式设置为货币格式。

//modify range F4:G5's cell style.
worksheet.getRange("F4:G5").getInterior().setThemeColor(ThemeColor.Light1);
worksheet.getRange("F4:G5").getInterior().setTintAndShade(-0.15);
worksheet.getRange("F4:G5").getFont().setThemeFont(ThemeFont.Major);
worksheet.getRange("F4:G5").getFont().setSize(12);  worksheet.getRange("F4:G5").getBorders().get(BordersIndex.InsideHorizontal).setLineStyle(BorderLineStyle.None);
worksheet.getRange("F5:G5").setNumberFormat("$#,##0.00");
//modify range F4:G5's cell style.
worksheet.getRange("F4:G5").getInterior().setThemeColor(ThemeColor.Light1);
worksheet.getRange("F4:G5").getInterior().setTintAndShade(-0.15);
worksheet.getRange("F4:G5").getFont().setThemeFont(ThemeFont.Major);
worksheet.getRange("F4:G5").getFont().setSize(12);  worksheet.getRange("F4:G5").getBorders().get(BordersIndex.InsideHorizontal).setLineStyle(BorderLineStyle.None);
worksheet.getRange("F5:G5").setNumberFormat("$#,##0.00");
'modify range F4:G5's cell style.
worksheet.getRange("F4:G5").getInterior().setThemeColor(ThemeColor.Light1)
worksheet.getRange("F4:G5").getInterior().setTintAndShade(-0.15)
worksheet.getRange("F4:G5").getFont().setThemeFont(ThemeFont.Major)
worksheet.getRange("F4:G5").getFont().setSize(12)
worksheet.getRange("F4:G5").getBorders().get(BordersIndex.InsideHorizontal).setLineStyle(BorderLineStyle.None)
worksheet.getRange("F5:G5").setNumberFormat("$#,##0.00")
$vbLabelText   $csharpLabel

步骤6:修改表格列样式

由于表格列范围不同,请在表格的不同列范围设置主题颜色、色调和阴影属性以及数字格式。

worksheet.getRange("F8:G11, F15:G18, F22:G25, F29:G33").getInterior().setThemeColor(ThemeColor.Light1);
worksheet.getRange("F8:G11, F15:G18, F22:G25, F29:G33").getInterior().setTintAndShade(-0.15);
worksheet.getRange("E8:G11, E15:G18, E22:G25, E29:G33").setNumberFormat("$#,##0.00");
worksheet.getRange("F8:G11, F15:G18, F22:G25, F29:G33").getInterior().setThemeColor(ThemeColor.Light1);
worksheet.getRange("F8:G11, F15:G18, F22:G25, F29:G33").getInterior().setTintAndShade(-0.15);
worksheet.getRange("E8:G11, E15:G18, E22:G25, E29:G33").setNumberFormat("$#,##0.00");
worksheet.getRange("F8:G11, F15:G18, F22:G25, F29:G33").getInterior().setThemeColor(ThemeColor.Light1)
worksheet.getRange("F8:G11, F15:G18, F22:G25, F29:G33").getInterior().setTintAndShade(-0.15)
worksheet.getRange("E8:G11, E15:G18, E22:G25, E29:G33").setNumberFormat("$#,##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 电子表格就会变成这样:

在 Java 应用中创建、修改和保存 Excel 电子表格

使用 IronXL.Excel 编辑 Excel 文件

安装好 IronXL 后,让我们来谈谈用它编辑 Excel 文件的过程。

编辑特定单元格的值

首先,我们来看看如何更改 Excel 电子表格中某些单元格的值。

为此,我们需要导入需要修改的 Excel 电子表格并访问其工作表。 然后,我们可以进行如下修改。

using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");//import Excel SpreadSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");//access specific workshet
ws.Rows [3].Columns [1].Value = "New Value";//access specific cell and modify its value
wb.SaveAs("sample.xlsx");//save changes
}
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");//import Excel SpreadSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");//access specific workshet
ws.Rows [3].Columns [1].Value = "New Value";//access specific cell and modify its value
wb.SaveAs("sample.xlsx");//save changes
}
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'import Excel SpreadSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'access specific workshet
ws.Rows (3).Columns (1).Value = "New Value" 'access specific cell and modify its value
wb.SaveAs("sample.xlsx") 'save changes
End Sub
$vbLabelText   $csharpLabel

下面是 Excel 电子表格 sample.xlsx 使用前后的截图:

之前
之后

我们可以看到修改 Excel 电子表格值是多么简单。

如有需要,还可以通过单元格地址编辑特定单元格值:

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" 'alternative way to access specific cell and apply changes
$vbLabelText   $csharpLabel

编辑整行值

用静态值编辑 Excel 电子表格的整行值非常简单。

using IronXL;static void Main(string [] args){    
    WorkBook wb = WorkBook.Load("sample.xlsx");    
    WorkSheet ws = wb.GetWorkSheet("Sheet1");    
    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");    
    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")
	ws.Rows (3).Value = "New Value"
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

请看下面的 sample.xlsx 截图:

之前
后

为此,我们还可以使用范围函数编辑行中特定范围的值:

ws ["A3:E3"].Value = "New Value";
ws ["A3:E3"].Value = "New Value";
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");    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");    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")
	ws.Columns (1).Value = "New Value"
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

这将生成我们的 sample.xlsx 电子表格:

之后

使用动态值编辑完整行

使用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++)    {        
        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++)    {        
        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
		ws.Rows (3).Columns (i).Value = "New Value " & i.ToString()
	Next i
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

在下表中,我们可以看到 Excel 电子表格 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++)    {        
        if (i == 0) //it is for if our first column is used as a header            
            continue;        

        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++)    {        
        if (i == 0) //it is for if our first column is used as a header            
            continue;        

        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
		If i = 0 Then 'it is for if our first column is used as a header
			Continue For
		End If

		ws.Rows (i).Columns (1).Value = "New Value " & i.ToString()
	Next i
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

下面是 sample.xlsx 的表格结果:

在此之前
之后

使用动态值编辑全列

还可以轻松编辑具有动态值的特定列。

using IronXL;static void Main(string [] args){ WorkBook wb = WorkBook.Load("sample.xlsx"); 工作表 ws = wb.GetWorkSheet("Sheet1"); for (int i = 0; i < ws.Rows.Count(); i++) { if (i == 0)//如果我们的第一列用作表头 continue; ws.Rows[i].Columns[1].Value = "New Value " + i.ToString(); } wb.SaveAs("sample.xlsx");}

下面是 sample.xlsx 的表格结果:

将电子表格转换为 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 工作簿对象并加载现有电子表格。

    使用 Excel API 在 Java 应用中将电子表格转换为 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 Loggings JAR 文件。

  2. 在项目的 "src "文件夹下添加一个文件夹 "libs"。

  3. 将三个 JAR 文件复制到 "libs "文件夹。

  4. 右键单击 "libs "文件夹,选择 "添加为库 "选项。

  5. 按确定。

    注意:上述步骤仅在项目是原始 Java 控制台项目时需要。 如果项目是 Maven 或 Gradle 项目,只需添加 GcExcel Java 依赖关系即可。 Maven 或 Gradle 会自动下载并安装所有依赖的 JAR。

    在某些版本的 Maven 中,添加上述 JAR 文件时可能会出现依赖关系错误。 为了解决这个问题,请在 pom.xml 中的依赖项之前添加以下节点:

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

    步骤 3:将电子表格转换为PDF

使用以下代码将电子表格保存为 PDF:

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

您的 PDF 文件将如下所示:

使用 Excel API 在 Java 应用中将电子表格转换为 PDF
在Java应用中使用Excel API将电子表格转换为PDF

使用 IronXL 将电子表格转换为 XML 和 JSON

以下代码演示了如何使用 IronXL.Excel 将 Excel 文件导出为 XML 或 JSON 文件。 添加以下代码:

包括命名空间:

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

添加后面几行:

    private void button4_Click(object sender, EventArgs e)    {        
        WorkBook workbook = WorkBook.Load("IronXL_Output.xlsx");        
        workbook.SaveAsJson("IronXL_Output.json");        
        workbook.SaveAsXml("IronXL_Output.xml");    
    }
    private void button4_Click(object sender, EventArgs e)    {        
        WorkBook workbook = WorkBook.Load("IronXL_Output.xlsx");        
        workbook.SaveAsJson("IronXL_Output.json");        
        workbook.SaveAsXml("IronXL_Output.xml");    
    }
Private Sub button4_Click(ByVal sender As Object, ByVal e As EventArgs)
		Dim workbook As WorkBook = WorkBook.Load("IronXL_Output.xlsx")
		workbook.SaveAsJson("IronXL_Output.json")
		workbook.SaveAsXml("IronXL_Output.xml")
End Sub
$vbLabelText   $csharpLabel

在此加载现有的 Excel 工作簿对象,然后导出为 JSON 和 XML 格式。

许可和定价

IronXL 许可和定价

IronXL 是一个公开商业化的 C# Excel 库。 它可免费用于开发,也可随时授权用于商业部署。 许可证面向单个项目使用、单个开发人员、机构和跨国组织,以及 SaaS 和 OEM 再分发。 所有许可证均包含30天退款保证、一年软件支持和升级、开发/测试/生产的有效性,以及永久许可证(一次性购买)。 Lite 套餐起价为$749。

GrapeCity 许可证和定价

另一方面,GrapeCity Excel 也是一个商用 Excel 库; 不提供任何免费服务。 GrapeCity 文档的起价为每年 999 美元。 他们还提供免费试用。 他们的许可证分为四个套餐:

开发人员许可证(1 名开发人员,1 个地点)

一 (1) 名开发者可以在一个 (1) 个地点使用 GrapeCity Documents,并持有开发者许可证(定义为物理地址或办公楼)。 多个站点被视为一个云部署; 更多信息,请参见 Unlimited License。

开发人员无限许可证(1 个开发人员,不限地点或云)

一(1)名开发人员可以在无限数量的地点(指定为实体地址或办公楼)或在云端使用GrapeCity Documents,只需持有开发者无限制许可。

团队无限 License(2-5 名开发人员,不限地点或云端)

GrapeCity Documents 可以由最多五(5)名开发人员在无限位置(指定为实际地址或办公楼)或在云中使用团队无限许可。

OEM 和 SaaS 许可证(6 名以上开发人员)

请联系销售支持部门。

结论

在 .NET 应用程序和网站中,IronXL for .NET 允许开发人员读取、生成和修改 Excel(以及其他电子表格文件)。 可读取和编辑 XLS/XLSX/CSV/TSV,导出内容可保存为 XLS/XLSX/CSV/TSV/JSON。 它与 .NET Framework、.NET Core 和 Azure 兼容。 所有这些都可以实现,无需额外的依赖项或安装 Microsoft Office。如果您曾觉得 Excel 阻碍了您的 .NET 办公管理技能,IronXL 可以为您提供帮助。这就是为什么我们创建了 C# Excel 库,它允许您在 .NET 应用程序和网站中读取、生成和修改 Excel 文件,助您成为成功的开发者。

GcExcel(GrapeCity Documents for Excel)是一种快速、小内存占用的电子表格API,不需要Excel。 您可以在完全支持 .NET Standard 2.0 的 .NET Framework、.NET Core、Mono 和 Xamarin 中生成、加载、更改和转换电子表格。 该电子表格 API 可用于构建云、Windows、Mac 和 Linux 应用程序。 由于其复杂的计算引擎和广泛的功能,您永远不必牺牲设计或要求。

GrapeCity Excel 许可证起价为每位开发人员 $995,而 IronXL 的$749具有免版税和无限多用户计划,购买大量开发人员时更便宜,而 GCexcel 的超多用户计划最多仅支持 6 位用户。

由于 IronXL.Excel 在处理 Excel 文档方面的高效性,它比其他 C# 替代语言更受青睐。 IronXL 还因其鼓励缩短代码行数的操作方法而脱颖而出。

Iron Software 目前为其所有客户和用户提供了只需点击两下即可获得整个 Iron Software 套件的选择--只需支付 Iron Software 套件中两个软件包的价格,即可获得全部五个软件包以及不间断的支持。

雷根·彭
软件工程师
Regan毕业于雷丁大学,拥有电子工程学士学位。在加入Iron Software之前,他的前工作职位要求他专注于单一任务;他在Iron Software最喜欢的是能进行多种工作,无论是增加销售价值、技术支持、产品开发还是营销。他喜欢了解开发人员如何使用Iron Software的库,并利用这些知识不断改进文档和开发产品。
< 前一页
IronXL与ClosedXML的比较
下一步 >
IronXL与Syncfusion Excel的比较