
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:
- 首先,使用 Workbook 类加载一个 Excel 文件。
- 接下来,通过索引(从零开始)或按名称访问具有要从工作表集合转换的图表的工作表。
- 然后,访问图表以从图表集合中按其索引(从零开始)进行转换。
- 之后,将 ImageOrPrintOptions.setSaveFormat 设置为 SVG。
- 最后,使用 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。
导出图表并缩放 SVG 以适应 Java 中的视口
在 XML 中,viewBox 属性定义了 SVG 视口内容的位置和尺寸。我们可以将 Excel 工作表中的任何图表导出为 SVG,并按照以下步骤将其设置为适合视口:
- 首先,使用 Workbook 类加载一个 Excel 文件。
- 接下来,通过索引(从零开始)或按名称访问具有要从工作表集合转换的图表的工作表。
- 然后,访问图表以从图表集合中按其索引(从零开始)导出。
- 将 ImageOrPrintOptions.setSaveFormat 设置为 SVG。
- 之后,将 ImageOrPrintOptions.setSVGFitToViewPort 设置为 true。
- 最后调用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 中的视口。
获得免费许可证
请通过请求 免费的临时许可证 来尝试不受评估限制的 API。
结论
在本文中,我们学习了如何在 Java 中将图表从 Excel 转换为 SVG。我们还了解了如何以编程方式将 Excel 图表导出到 SVG 以适应视口。此外,您可以使用 documentation 了解有关 Aspose.Cells for Java API 的更多信息。如有任何歧义,请随时在 论坛 上与我们联系。