如何使用C#代码将 Excel 中的图表转换为图片

图表通常用于 Microsoft Excel 文件中,以可视化展示数值数据。在某些情况下,您可能需要将 Excel 文件中的图表保存为图片,以便在其他程序或文件中使用,例如 PDF 和 PowerPoint 演示文稿。本文将演示如何使用 Spire.XLS for .NET,通过 C# 和 VB.NET 将 Excel 中的图表转换为图片。

安装 Spire.XLS for .NET

首先,您需要将 Spire.XLS for .NET 软件包中包含的 DLL 文件添加为 .NET 项目的引用。这些 DLL 文件可以通过此链接下载,或通过 NuGet 进行安装。

cs 复制代码
PM> Install-Package Spire.XLS

在 C# 和 VB.NET 中将 Excel 工作表中的指定图表转换为图片

Spire.XLS 提供了 Workbook.SaveChartAsImage(Worksheet worksheet, int chartIndex) 方法,可用于将工作表中的指定图表转换为图片。

示例代码如下:

cs 复制代码
using Spire.Xls;
using System.Drawing;
using System.Drawing.Imaging;

namespace ConvertAExcelChartToImage
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 初始化 Workbook 类的实例
            Workbook workbook = new Workbook();
            // 加载示例 Excel 文件
            workbook.LoadFromFile("Charts.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 将第一个工作表中的第一个图表保存为图片
            Image image = workbook.SaveChartAsImage(sheet, 0);
            // 将图片保存为 .png 文件
            image.Save(@"output\chart.png", ImageFormat.Png);
        }
    }
}

在 C# 和 VB.NET 中将 Excel 工作表中的所有图表转换为图片

要将 Excel 工作表中的所有图表转换为图片,可以使用 Workbook.SaveChartAsImage(Worksheet worksheet) 方法。

示例代码如下:

cs 复制代码
using Spire.Xls;
using System.Drawing;
using System.Drawing.Imaging;

namespace ConvertAllExcelChartsToImages
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 初始化 Workbook 类的实例
            Workbook workbook = new Workbook();
            // 加载示例 Excel 文件
            workbook.LoadFromFile("Charts.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 将第一个工作表中的所有图表保存为图片
            Image[] imgs = workbook.SaveChartAsImage(sheet);

            // 将图片保存为 png 文件
            for (int i = 0; i < imgs.Length; i++)
            {
                imgs[i].Save(string.Format(@"output\chart-{0}.png", i), ImageFormat.Png);
            }
        }
    }
}

在 C# 和 VB.NET 中将 Excel 中的图表工作表转换为图片

您可以使用 Workbook.SaveChartAsImage(ChartSheet chartSheet) 方法,将 Excel 中的图表工作表转换为图片。

示例代码如下:

cs 复制代码
using Spire.Xls;
using System.Drawing;
using System.Drawing.Imaging;

namespace ConvertExcelChartSheetToImage
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 初始化 Workbook 类的实例
            Workbook workbook = new Workbook();
            // 加载示例 Excel 文件
            workbook.LoadFromFile("ChartSheet.xlsx");

            // 获取第一个图表工作表
            ChartSheet chartSheet = workbook.Chartsheets[0];

            // 将第一个图表工作表保存为图片
            Image image = workbook.SaveChartAsImage(chartSheet);
            // 将图片保存为 .png 文件
            image.Save(@"output\chartSheet.png", ImageFormat.Png);            
        }
    }
}

申请临时许可证

如果您希望删除生成文档中的评估消息,或解除功能限制,请为自己申请一份有效期为 30 天的试用许可证。

相关推荐
技术小甜甜20 小时前
[办公效率] Excel 表格越做越乱,先整理字段、格式还是公式?
数据库·excel·办公效率·数据整理
SunnyDays101121 小时前
如何使用 C# 自动调整 Excel 行高和列宽
开发语言·c#·excel
itgather1 天前
OfficeExcel — Word / Excel DLL 验证台功能介绍
c#·word·excel
葡萄城技术团队1 天前
【SpreadJS 新版本特性揭秘】完美对齐 Excel 365:V19.1 单元格内嵌图片架构解析
excel
qq_422152571 天前
Excel 转 CSV 工具怎么选?格式兼容、编码问题与数据导出方案实测
excel
҉人间无事人1 天前
wps中excel跨表通过匹配数据取其他值
excel·wps
sbjdhjd1 天前
04 (下) | K8S微服务实战:从 Service 到金丝雀发布
运维·微服务·云原生·kubernetes·开源·云计算·excel
sbjdhjd2 天前
04(上)| k8s中的微服务
微服务·云原生·kubernetes·开源·云计算·excel·kubelet
SunnyDays10112 天前
使用 C# 添加、修改和删除 Excel VBA 宏 (无需 Microsoft Office Interop)
c#·excel··vba
OliverH-yishuihan2 天前
Excel中把一列数据转换成逗号隔开的一行
excel