You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何读取Excel文件并将行内附带的图片转换为Base64

你可以通过EPPlus库实现该需求,具体操作如下:

1 环境准备
  • 首先通过NuGet安装EPPlus 4.5.3.3版本,这是该库最后一个MIT开源许可版本,无需商业授权即可免费使用。
2 实现代码
using System;
using System.IO;
using OfficeOpenXml;
using OfficeOpenXml.Drawing;

class ExcelImageToBase64
{
    static void Main()
    {
        // 替换为你的f1.xlsx实际存放路径
        string excelPath = @"C:\xxx\f1.xlsx";
        FileInfo excelFile = new FileInfo(excelPath);
        
        using (ExcelPackage package = new ExcelPackage(excelFile))
        {
            // 读取第一个工作表,可根据实际情况调整索引或指定工作表名称
            ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
            
            // 遍历工作表内所有图片资源
            foreach (var drawing in worksheet.Drawings)
            {
                if (drawing is ExcelPicture excelPic)
                {
                    // 获取图片左上角所在的行号,匹配对应行的B列名称
                    int imageRow = excelPic.TopLeftCell.Row;
                    string imageName = worksheet.Cells[imageRow, 2].Text.Trim();

                    // 图片转字节数组
                    byte[] imageBytes;
                    using (var ms = new MemoryStream())
                    {
                        excelPic.Image.Save(ms, excelPic.ImageFormat);
                        imageBytes = ms.ToArray();
                    }

                    // 转Base64格式
                    string base64Result = Convert.ToBase64String(imageBytes);
                    
                    // 测试输出,可根据需求将结果存入数据库/文件等
                    Console.WriteLine($"图片名称:{imageName},Base64长度:{base64Result.Length}");
                    // 如需生成前端可直接使用的Base64资源链接,添加对应前缀即可:
                    // string base64Url = $"data:image/{excelPic.ImageFormat.ToString().ToLower()};base64,{base64Result}";
                }
            }
        }
    }
}
3 注意事项
  • 如果你使用EPPlus 5及以上版本,需要在初始化ExcelPackage前添加代码ExcelPackage.LicenseContext = LicenseContext.NonCommercial;,且仅非商业场景可免费使用。
  • 如果Excel内存在跨多行的图片,自行调整TopLeftCell.Row的取值逻辑匹配实际排版即可。

内容的提问来源于stack exchange,提问作者mn221

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:57:03