在 Java 应用程序中创建、修改和保存 Excel 电子表格:
GrapeCity Documents for Excel,Java 版 (GcExcel) 是一个高速 Java Excel 电子表格 API 库,不需要依赖于 Microsoft Excel。用户可以通过 Java 应用程序以编程方式创建、编辑、导入和导出 Excel XSLX 电子表格。借助 GcExcel,您可以使用适用于 Microsoft Windows、Linux 和 Apple Mac 的 Java 进行开发,并部署到云,包括 Microsoft Azure、AWS 和 AWS Lambda。
在这篇博文中,GrapeCity 的 Shilpa Sharma 将向您展示如何创建、加载、修改电子表格并将其保存为 Excel、PDF、HTML 或图像。使用 GcExcel Java,您可以加载现有的 Excel 电子表格,访问一系列数据、表格、字体、格式、公式和形状。您可以修改这些对象并将它们保存回来。
在 Java 应用程序中创建、修改和保存 Excel (XLSX) 电子表格
在许多情况下,您可能需要加载 Excel 文档的现有模板、修改数据或修改电子表格的格式并将其保存回来。
例如:
您将获得一份包含活动预算原始数据的 Excel 电子表格。您需要修改文档的格式并将其保存回来。
您有一年的销售数据,并希望以图表形式显示销售进度。您需要在现有 Excel 电子表格中的数据上添加图表,以便轻松了解收入的进展情况。
您有一个财务 KPI 文档模板,另一张表上有原始数据。您需要在第一个工作表中填写这些数据,然后更新电子表格。
在 Java 中使用 Excel 电子表格时,开发人员需要一个 Excel API,它不仅可以创建电子表格,还可以加载现有电子表格、向其中添加数据或修改现有数据、添加格式并将其保存回来。本文介绍了其中一个用例,并演示了如何在 Java 应用程序中创建、修改和保存 Excel 电子表格。
用于 Java 应用程序的 Excel API
GrapeCity Documents for Excel Java 版(GcExcel Java) 是一个用于 Java 应用程序的 Excel API,可以创建、加载、修改电子表格并将其保存为Excel、PDF、HTML或图像。使用 GcExcel Java,您可以加载现有的 Excel 电子表格,访问一系列数据、表格、字体、格式、公式和形状。您可以修改这些对象并将它们保存回来。
详细了解GcExcel Java 的主要功能。
Excel 文档的用例
您会收到多个适用于众多预算的 Excel 模板。
您需要:
对每个电子表格进行格式化和品牌化
将包含数字的单元格区域的数字格式修改为货币。
预算报告可以是任何类型(财务、活动、每月预算、旅行预算),并且您可能会偶尔收到它们。为了解决此类问题,您可能需要对电子表格的格式进行编码,并仅更改其中的单元格范围。
让我们开始使用 GcExcel、Java 来解决这些请求。
您将获得一个如下所示的电子表格:
原始 Excel 文件模板
首先,我们要格式化工作表:
更改工作表标题和总收入单元格的字体属性。
更改表格、表格列和单元格样式
使用 Java 以编程方式编辑现有 Excel 文件的步骤
加载现有的 Excel 电子表格
获取您要修改的工作表
修改标题的字体属性
修改表格样式
修改单元格区域的样式
修改表格列的样式
保存 Excel 文件
第 1 步:加载现有 Excel 电子表格
编写以下代码将现有电子表格加载到您的 GcExcel 工作簿中:
Workbook workbook = new Workbook();
workbook.open("Event budget.xlsx");
步骤 2:获取您要修改的工作表
IWorksheet worksheet = workbook.getActiveSheet();
步骤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);
第四步:修改表格样式
将四个表的样式设置为内置样式。
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"));
第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");
第6步:修改表格列的样式
由于表列的范围不同,请在表的不同列范围上设置 ThemeColor、TintAndShade 属性和 NumberFormat。
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");
步骤 7:保存 Excel 文件
//save to an excel file
workbook.save("EventBudget.xlsx");
恭喜!您已经完全更改了文档的格式。运行该应用程序,您的 Excel 电子表格如下所示:
使用 Java Excel Spreadsheet API 以编程方式设置样式和格式后的 Excel