使用 Aspose.Cells for Java 将数据从 JSON 导入 Java 中的 Excel

将数据从 JSON 导入 Excel

当我在这里宣布最新版本的 Aspose.Cells for Java 发布时,我露出灿烂的笑容。在这篇博文中,我将向您介绍所有令人兴奋的新功能,以便最好地利用 API 以及改进和修复。相关文章和资源的链接也可用于快速参考。因此,让我们开始回顾此版本中的内容

Java 中的 JSON 到 Excel

如您所知,JavaScript Object Notation 是一种常见的数据交换格式,它非常轻量级,可以被人和机器轻松读取。现在,例如,您从某些 Web API 以 JSON 格式获取数据并需要将其导入某些 Excel 文件,那么 Aspose.Cells 可提供此功能。

JSONUtility 类是由 Aspose.Cells 引入的,具有 ImportData 方法,该方法不仅可以将数据从 JSON 导入到 Excel,还可以在导入过程中使用 JsonLayoutOptions 对象执行不同的转换和格式设置。您可以按照从 JSON 导入数据一文来尝试这个令人兴奋的功能以下是使用 Java 将数据从 JSON 导入 Excel 的示例代码:

您可以看到结果很酷,因为创建了一个完全格式化的 Excel 文件,而无需使用任何额外的代码来解析来自任何来源(如 Web API)的 JSON 字符串。不是吗?例如,如果您从 Web API 获取以下字符串,则输出 Excel 文件如下图所示:

[{“color”: “red”,”value”: “#f00”},{“color”: “green”,”value”: “#0f0”},{“color”: “blue”,”value “: “#00f”},{“color”: “cyan”,”value”: “#0ff”},{“color”: “magenta”,”value”: “#f0f”},{“color” : “yellow”,”value”:”#ff0″},{“color”: “black”,”value”: “#000”}]

JSON 到 Excel Java

使用选项将表转换为范围

之前可以将表格转换为范围。但是,如果您想控制目标范围的格式,例如仅格式化部分输出,该怎么办。好消息是此功能现已可用,您无需编写额外的代码来格式化输出范围。我们引入了一个新类 TableToRangeOptions,其中 LastRow 属性可用于设置从源表复制格式的最后一行。这是示例表和转换范围的视图,其格式最多为第 5 行。

在 Excel 中转换表格范围

这是用于创建上述范围的示例代码。

有关转换的详细信息,请访问链接。

使用外部链接获取范围

Microsoft Excel 支持用于从不同来源获取数据的外部链接。我们提供了使用Name.GetRefferedAreas方法从 Excel 文件中检索这些链接的选项此方法返回ReferredArea,它具有许多有用的属性,如下所示:

在以下示例中,具有命名范围“Names”的外部文件与 Excel 文件链接。我们可以在链接文件中访问这个命名范围并显示其上面提到的属性。

将电子表格中空白行的分隔符保留为 CSV

很多时候,您将 Excel 工作表转换为 CSV,以便在某些其他环境或应用程序中使用它。在将电子表格导出为 CSV 时,您可能需要自行决定电子表格中空白行的分隔符。例如,源电子表格中有一个空白行,而您想要 CSV 中的空白行或具有预定义分隔符的行。我们现在提供了此功能,您可以在此处获取有关此功能的详细信息

为了更好地理解,请查看下图,其中显示了此功能的结果。

Excel 到 CSV Java

以下是演示此新功能的示例代码。

合并单元格的自动调整行

自动调整行是您在处理 Excel 文件时执行的一项非常常见的操作。这个特性已经在 Aspose.Cells API 中存在,但是很多人要求对这个操作有更多的控制。为了满足此要求,我们提供了AutoFitMergedCellsType枚举器,其中包含以下选项:

  • NONE:忽略合并的单元格。
  • FIRST_LINE:仅扩展第一行的高度。
  • LAST_LINE:仅扩展最后一行的高度。
  • EACH_LINE:扩展每一行的高度。

这是此功能的快照,其中显示了选项 EACH_LINE 之一的效果。

Excel 中的自动调整行

您可以使用以下示例代码测试此功能。

有关此主题的更多详细信息,请访问此处

此版本中的其他增强功能

  • 使用 Cell.getDisplayStringValue() 从单元格中提取文本会为 Ricty Diminished 字体返回不同的结果。新版本现在返回一个适当的字符串。
  • 生成的 PDF 中的文本对齐更加准确。
  • 在某些情况下,转换后的 HTML 中的黑色文本颜色变为红色,这不再是问题。
  • 散点图和二维气泡图将毫无问题地呈现为 PDF。
  • Range.Copy() 将从现在开始复制字体设置和其他对象。
  • Workbook.hasExernalLinks() 将为 DDE 链接返回正确的结果。

注意:您可以从 GitHub下载项目以获取此博客文章中使用的模板文件和运行示例。