如何在C#中将Excel图表转换为图像

如何在C#中将Excel图表转换为图像

图表在 Excel 文件中以可视化方式表示数据。在共享报告、构建仪表板或生成文档时,您可能需要将这些图表导出为图像文件。本指南展示了如何使用 Aspose.Cells for .NET 将 Excel 图表转换为图像。

为什么将图表转换为图像?

  • 将可视化数据嵌入网站或演示文稿
  • 通过电子邮件发送报告,无需 Excel 查看器
  • 在 PDF 或打印布局中包含图表

步骤指南

步骤 1:安装 Aspose.Cells for .NET

dotnet add package Aspose.Cells

步骤 2:加载工作簿

Workbook workbook = new Workbook("Dashboard.xlsx");
Worksheet sheet = workbook.Worksheets["Charts"];

步骤 3:选择图表

// 访问工作表上的第一个图表
Chart chart = sheet.Charts[0];

步骤 4:设置导出选项

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    HorizontalResolution = 300,
    VerticalResolution = 300,
    Transparent = false
};

步骤 5:将图表转换为图像

chart.ToImage("chart_output.png", options);

步骤 6:保存并验证

这将您的图表保存为 PNG 文件。您还可以选择 JPEG、BMP、TIFF 等格式。

步骤 7:可选增强

您可以通过设置进一步控制图像大小和质量:

// 控制缩放
chart.ToImage("chart_highres.png", new ImageOrPrintOptions
{
    ImageType = ImageType.Jpeg,
    SmoothingMode = SmoothingMode.AntiAlias,
    ChartImageWidth = 1200,
    ChartImageHeight = 800
});

完整示例代码

using System;
using Aspose.Cells;
using Aspose.Cells.Rendering;
using System.Drawing.Drawing2D;

class Program
{
    static void Main()
    {
        // 加载工作簿
        Workbook workbook = new Workbook("Dashboard.xlsx");

        // 访问工作表和第一个图表
        Worksheet sheet = workbook.Worksheets["Charts"];
        Chart chart = sheet.Charts[0];

        // 设置图像导出选项
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 300,
            VerticalResolution = 300,
            SmoothingMode = SmoothingMode.AntiAlias,
            ChartImageWidth = 1200,
            ChartImageHeight = 800
        };

        // 将图表导出为图像
        chart.ToImage("chart_output.png", options);

        Console.WriteLine("图表成功导出为图像。");
    }
}

常见场景及解决方案

问题解决方案
图表模糊增加 ChartImageWidthChartImageHeight
图像缺乏清晰度使用 SmoothingMode = AntiAlias
图表被裁剪检查工作表边距或缩放设置
 中文