C# workbook.GetAllPictures
时间: 2024-10-08 08:21:39 浏览: 32
在C#中,`workbook.GetAllPictures()`不是一个直接的API,因为它是对Microsoft Office Excel (.xlsx)文件操作的,而.NET Framework提供的官方库如EPPlus、NPOI等,并没有提供这样的方法来获取所有图片(.jpg、.png等)一次性获取。如果你想从Excel工作簿中加载所有图片,你需要逐张读取,通常的做法是遍历特定的工作表范围(例如每个图像所在的单元格)并查找嵌入的对象或者是通过特殊的`Shape`对象来检查是否是图片。
如果你使用EPPlus库,可以这样做:
```csharp
using OfficeOpenXml;
using System.IO;
public List<Stream> GetAllPictures(StreamlsxDocument document)
{
List<Stream> pictureStreams = new List<Stream>();
foreach (Sheet sheet in document.Worksheets)
{
var shapes = sheet.Drawings[0].Shapes; // Assuming pictures are in the first drawing group
foreach (var shape in shapes)
{
if (shape.GraphicType == Escher.GraphemeType.EscherPicture)
{
pictureStreams.Add(shape.GetImageStream());
}
}
}
return pictureStreams;
}
```
阅读全文