Excel 文件通常用于处理数字数据。此外,还呈现图表以图形形式表示数据。使用 Java,您可以将图表转换为图像或 PDF 文档。 Aspose.Cells for Java API 提供了许多功能来创建、编辑或操作 XLSXXLSXLSMXLSB 和其他 支持文件格式,无需安装 Microsoft Excel。在本文中,我们将探讨在 Java 中对图表呈现为图像和 PDF 文件格式的支持。让我们概述一下我们将在这里介绍的功能:

让我们了解细节以更好地理解 Java API 中的图表渲染支持。

用于将图表转换为图像和 PDF 的 Java API

您可以使用 Aspose.Cells for Java 在几个方法调用中将图表转换或呈现为不同的图像格式,包括 JPG、PNG、TIFF 或 BMP。同样,您可以根据需要将图表呈现为 PDF 格式。首先,您需要在您的 Java 环境中为 Java API 配置 Aspose.Cells。您可以通过从 下载部分 下载 JAR 文件或使用以下存储库和 Maven 依赖项配置轻松安装它。

存储库:

<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>20.9</version>
</dependency>

使用 Java 将图表转换为图像

成功配置 API 后,您可以将图表导出或转换为任何图像格式,包括 JPG、PNG、TIFF、BMP、SVG、WMP 等。在此示例中,让我们考虑将图表保存为 PNG 图像。您需要按照以下步骤在 Java 中进行图表到图像的转换:

  1. 加载输入 XLS/XLSX 文件
  2. 访问 工作表图表
  3. 初始化 ImageOrPrintOptions 以设置质量和其他属性
  4. 设置图像类型并将图表转换为Java中的图像

下面的代码片段展示了如何使用 Java 将图表转换为 JPG、PNG、TIFF、BMP、SVG 或 WMP 图像:

// 加载输入 XLSX 文件
Workbook workbook = new Workbook(dataDir + "SampleExcel.xlsx");
        
// 访问所需的工作表        
Worksheet worksheet = workbook.getWorksheets().get(0);

// 访问特定图表
Chart chart = worksheet.getCharts().get(1);

// 创建 ImageOrPrintOptions 的实例并设置一些属性
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setVerticalResolution(300);
options.setHorizontalResolution(300);
options.setQuality(100);

// 设置输出格式的图像类型
options.setImageType(ImageType.PNG);

// 将图表渲染为图像        
chart.toImage(dataDir + "chart.png", options);

让我们看一下这段代码生成的图表图像的截图:

将图表转换为图像 PDF Java

使用 Java 将工作表中的所有图表转换为图像

我们已经了解了如何将单个图表渲染到图像上。这是一个基本用例,我们可以增强并涵盖您要将所有工作表中的所有图表转换为相应图像的场景。您需要按照以下步骤将工作簿中的所有图表转换为图像:

  1. 加载源 XLS/XLSX 文件
  2. 遍历每个 Worksheet
  3. 遍历每个工作表中的每个图表
  4. 使用 ImageOrPrintOptions 指定不同的属性
  5. 保存 图表 的输出图像

以下代码片段展示了如何使用 Java 将图表转换为图像:

// 加载输入 XLSX 文件
Workbook workbook = new Workbook(dataDir + "SampleExcel.xlsx");

for (int sheet = 0 ; sheet < workbook.getWorksheets().getCount() ; sheet++)
{
    // 访问所需的工作表        
    Worksheet worksheet = workbook.getWorksheets().get(sheet);

   for (int i =0 ; i<worksheet.getCharts().getCount() ; i++)
    {
        // 访问特定图表
        com.aspose.cells.Chart chart = worksheet.getCharts().get(i);

        // 创建 ImageOrPrintOptions 的实例并设置一些属性
        ImageOrPrintOptions options = new ImageOrPrintOptions();
        options.setVerticalResolution(300);
        options.setHorizontalResolution(300);
        options.setQuality(100);

        // 设置输出格式的图像类型
        options.setImageType(com.aspose.cells.ImageType.PNG);

        // 将图表渲染为图像        
        chart.toImage(dataDir + "chart_" + (i+1) + "_" + worksheet.getName() + ".png", options);
    }
}

使用 Java 将图表转换为 PDF

PDF 文件格式因其与几乎所有操作系统的兼容性而闻名。有时您可能需要将图表从 Excel 工作簿转换为 PDF 文件。虽然您可以使用 Aspose API 将先前渲染的图像转换为 PDF,但这将是一个两步的方法。而 Aspose.Cells for Java API 可以直接将图表呈现为 PDF 文档。您需要按照以下步骤执行转换:

  1. 加载输入 XLSX 文件
  2. 需要访问 工作簿
  3. 确保至少有一个 图表
  4. 将特定图表呈现为 PDF

下面的代码片段解释了如何使用 Java 将图表转换为 PDF:

// 加载输入 XLSX 文件
Workbook workbook = new Workbook(dataDir + "SampleExcel.xlsx");

// 访问所需的工作表
Worksheet worksheet = workbook.getWorksheets().get(0);

// 确保工作簿中至少有一张图表
if(worksheet.getCharts().getCount() > 0)
{
    // 访问特定图表
    com.aspose.cells.Chart chart = worksheet.getCharts().get(1);

    // 将图表渲染为 PDF
    chart.toPdf(dataDir + "FirstChart.pdf");
}

结论

在本文中,我们学习了如何使用 Java 将 excel 文件中的图表转换为 JPG、PNG、BMP、WMF 或 PDF。 API 提供了许多属性和方法来控制图像和 PDF 文档的呈现。我们已经介绍了一些图表转换的可能用例,如果您想了解更多有关渲染功能的信息,请随时访问 API 参考、产品文档或免费支持论坛(如果您需要任何帮助)。

也可以看看