使用 Java 将 Excel 图表转换为 SVG

SVG (Scalable Vector Graphics) 是一种基于 XML 的矢量图像格式,它以二维矢量图形格式存储图像。 SVG 图像也可以使用任何文本编辑器进行编辑。我们可以通过编程将 Excel 工作簿中的数据图表转换为 SVG 文件。在本文中,我们将学习如何使用 Java 将 Excel 图表转换为 SVG

本文将涵盖以下主题:

Java API 将 Excel 图表转换为 SVG

为了将图表从 XLSX 文件转换为 SVG,我们将使用 Aspose.Cells for Java API。它允许以编程方式执行 Excel 自动化功能,而无需 Microsoft Excel 应用程序。请下载 API 的 JAR 或在基于 Maven 的 Java 应用程序中添加以下 pom.xml 配置。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.12</version>
</dependency>

在 Java 中将 Excel 图表转换为 SVG

我们可以按照以下步骤将图表从 Excel 工作表转换为 SVG:

  1. 首先,使用 Workbook 类加载一个 Excel 文件。
  2. 接下来,通过索引(从零开始)或名称访问具有要从工作表集合转换的图表的工作表。
  3. 然后,访问图表以从图表集合中按其索引(从零开始)进行转换。
  4. 之后,将 ImageOrPrintOptions.setSaveFormat 设置为 SVG。
  5. 最后,使用 Chart.toImage() 方法将图表转换为 SVG 并保存输出文件。

以下示例代码展示了如何使用 Java 将图表从 Excel 转换为 SVG

// 此代码示例演示如何将图表从 Excel 转换为 SVG
// 在工作簿对象中加载 Excel 文件
Workbook workbook = new Workbook("C:\\Files\\Cells\\Sample_Chart.xlsx");

// 访问第一个工作表
Worksheet worksheet = workbook.getWorksheets().get(0);

// 访问工作表中的第一个图表
Chart chart = worksheet.getCharts().get(0);

// 将图表保存为 SVG 格式的图像
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setSaveFormat(SaveFormat.SVG);

chart.toImage("C:\\Files\\Cells\\Sample_Chart_out.svg", options);
在 Java 中将 Excel 图表转换为 SVG

在 Java 中将 Excel 图表转换为 SVG。

导出图表并缩放 SVG 以适应 Java 中的视口

在 XML 中,viewBox 属性定义了 SVG 视口内容的位置和尺寸。我们可以将 Excel 工作表中的任何图表导出为 SVG,并按照以下步骤将其设置为适合视口:

  1. 首先,使用 Workbook 类加载一个 Excel 文件。
  2. 接下来,通过索引(从零开始)或名称访问具有要从工作表集合转换的图表的工作表。
  3. 然后,访问图表以从图表集合中按其索引(从零开始)导出。
  4. ImageOrPrintOptions.setSaveFormat 设置为 SVG。
  5. 之后,将 ImageOrPrintOptions.setSVGFitToViewPort 设置为 true。
  6. 最后调用Chart.toImage()方法保存输出文件。

以下示例代码展示了如何使用 Java 将图表从 Excel 导出到 SVG 以适应视口

// 此代码示例演示如何将图表从 Excel 转换为 SVG 并将其设置为适合视口
// 在工作簿对象中加载 Excel 文件
Workbook workbook = new Workbook("C:\\Files\\Cells\\Sample_Chart.xlsx");

// 访问第一个工作表
Worksheet worksheet = workbook.getWorksheets().get(0);

// 访问工作表中的第一个图表
Chart chart = worksheet.getCharts().get(0);

// 设置图像或打印选项
// 使用 SVGFitToViewPort 为真
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setSaveFormat(SaveFormat.SVG);
options.setSVGFitToViewPort(true);

chart.toImage("C:\\Files\\Cells\\Sample_Chart_ViewPort_out.svg", options);
导出图表并缩放 SVG 以适应 Java 中的视口

导出图表并缩放 SVG 以适应 Java 中的视口。

获得免费许可证

请通过申请 免费的临时许可证 来尝试不受评估限制的 API。

结论

在本文中,我们学习了如何在 Java 中将图表从 Excel 转换为 SVG。我们还看到了如何以编程方式将 Excel 图表导出到 SVG 以适应视口。此外,您可以使用 documentation 了解有关 Aspose.Cells for Java API 的更多信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看