通过C# 将Excel表格转换为图片(JPG/ PNG)

Excel 表格可能会因为不同设备、不同软件版本或字体缺失等问题,导致格式错乱或数据显示异常。转换为图片后,能确保数据的排版、格式和外观始终保持一致,无论在何种设备或平台上查看,都能呈现出固定的样式,避免了因环境差异而产生的显示问题。本文将介绍如何在.NET 程序中通过C# 将Excel转换为图片 (JPG、PNG等) 。

文章目录

    • [通过C# 转换Excel工作表到图片](# 转换Excel工作表到图片)
    • [通过C# 转换指定单元格区域到图片](# 转换指定单元格区域到图片)

本文需要用到一个免费国产库 Free Spire.XLS for .NET (有页数限制)。该库可以直接通过在Visual Studio > NuGet程序包管理器中搜索 "FreeSpire.XLS" 来安装。也可以通过该链接下载产品包后手动添加引用。

通过C# 转换Excel工作表到图片

免费Spire.XLS库提供的 SaveToImage() 方法可将某个指定的工作表转换为JPG或PNG图片。步骤参考:

  1. 使用 Workbook 类的 LoadFromFile() 方法加载 Excel 文档。
  2. 通过 Workbook 类的 Worksheets[] 属性获取文档中的指定工作表。
  3. 使用 Worksheet 类的 SaveToImage() 方法将工作表保存为指定格式的图片。

C#代码:

csharp 复制代码
using Spire.Xls;

namespace ExcelToImage
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加载Excel文档
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"E:\PythonExcel\计划.xlsx");

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

            // 将工作表保存为图片
            sheet.SaveToImage("Excel转图片.jpg");
        }
    }
}

转换结果:

通过C# 转换指定单元格区域到图片

要实现该功能,可以先使用 Worksheet.ToImage(int firstRow, int firstColumn, int lastRow, int lastColumn) 方法一个指定的单元格区域转换为 Image 对象,然后再使用 Image.Save() 方法将该对象保存为特定图片格式。

代码如下:

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

namespace ExcelToImage
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加载Excel文档
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"E:\PythonExcel\计划.xlsx");

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

            // 指定单元格区域并将其保存为特定图像格式
            sheet.ToImage(2, 2, 5, 6).Save("单元格区域转图片.png", ImageFormat.Png);
        }
    }
}

如需将Excel表格转为其他格式,如Excel转PDF, Excel转HTML,Excel转CVS等,或者该免费库支持的其他Excel操作功能,可以查看以下教程:

https://www.e-iceblue.cn/spirexls/spire-xls-for-net-program-guide-content.html

相关推荐
上位机妹子2 小时前
EF Core 两种继承映射:每层次一张表(TPH)与每类型一张表(TPT)
数据库·c#·.netcore·ef core
小羊没烦恼!3 小时前
jQuery1.5的改进细节
java·服务器·开发语言·前端·c#
下页、再停留5 小时前
【C#桌面客户端系列学习-8】批量导出数据为csv格式
开发语言·c#·visual studio
波力海苔夹心脆6755 小时前
C# 视觉检测实战:PLC 按钮触发 VisionPro 检测,OK 亮灯 / NG 灭灯(西门子 PLC,含界面显示与图片存档)
开发语言·经验分享·c#·自动化·视觉检测·.net
kim7 小时前
一个人 + AI,用 WinForms 搓了个 376KB 的 Windows 便签:便签 / 截图 / 标注 / OCR / 待办全塞进去了
c#
hez20107 小时前
一行代码在 .NET 项目里启用 Satori GC
c#·.net·.net core·gc·clr
百数平台7 小时前
百数表格知识库配置指南:Excel/CSV 上传、表结构字段类型与 NL2SQL 查询全说明
excel
宇卿.7 小时前
C#语句:
开发语言·c#
咕白m6257 小时前
使用 C# 将 TIFF 转换为 PDF
前端·c#
葡萄城技术团队8 小时前
在 DSH 中直接查看和编辑 Excel:dsh-spreadjs-editor 开源插件发布
excel