c# - ClosedXML 从特定单元格获取图像/图片

标签 c# .net excel visual-studio-2017 closedxml

我正在使用 ClosedXML 在 C#.NET (VS 2017) 中进行编程。我有一个像这样的 Excel 文件:

 |  A   |    B    |   C   |   D 

1| Code |  Image  | Price | Others

2| PX1  | [IMAGE] | $0.25 | Text 

3| XYZ  | [IMAGE] | $0.58 | Descp

我可以获取所有文本和数字单元格,但是当我想获取图像的值(例如 B2)时,我不能,C# 返回一个空字符串:(...

如何从文件中获取图像?

我读到了有关向文件添加图像的内容,但是,我想获取它,而不是添加。

最佳答案

图像(或者更确切地说图片)不保存在单元格中,而是保存在工作表中。您可以使用 worksheet.Pictures 获取工作表中的所有图片,并使用 worksheet.Pictures.Picture(name) 按名称获取特定图片。

如果您需要单元格的图片,您可以构建一个包含单元格地址和图片的字典:

Dictionary<IXLAddress, ClosedXML.Excel.Drawings.IXLPicture> PicturesByCellAddress
    = new Dictionary<IXLAddress, ClosedXML.Excel.Drawings.IXLPicture>();
foreach (ClosedXML.Excel.Drawings.IXLPicture pic in worksheet.Pictures)
{
    PicturesByCellAddress.Add(pic.TopLeftCellAddress, pic);
}

关于c# - ClosedXML 从特定单元格获取图像/图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52884163/

相关文章:

c# - 在.Net MVC中进行无限循环

c# - 如何从一个用户控件调用另一个用户控件的方法?

c# - 从字符串中删除重复的单词

c# - 返回 IQueryable 的已编译查询何时执行?

c# - 如何在 C# GUI 窗体中运行批处理文件

c# - 如何修复 "' System.AggregateException' 出现在 mscorlib.dll 中”

excel - 使用选项显式 (excel-vba) 时如何打开 Microsoft HTML 对象库引用?

c# - 如何在运行时获取构建配置?

c# - excel以编程方式获取范围

excel - 当单元格内容通过 VBA 更改但手动更改时,Worksheet_change 不起作用