C# NPOI 插入图片 excel
时间: 2023-07-07 08:31:13 浏览: 319
要在 C# 中使用 NPOI 插入图片到 Excel 中,你可以按照以下步骤操作:
1. 加载 Excel 文件并创建工作簿和工作表对象:
```csharp
FileStream fs = new FileStream("test.xlsx", FileMode.Open, FileAccess.ReadWrite);
IWorkbook workbook = new XSSFWorkbook(fs); //或者 new HSSFWorkbook(fs)
ISheet sheet = workbook.GetSheetAt(0);
```
2. 创建图片对象并设置其属性:
```csharp
byte[] imgBytes = File.ReadAllBytes("image.png");
int pictureIdx = workbook.AddPicture(imgBytes, PictureType.PNG);
XSSFDrawing drawing = (XSSFDrawing)sheet.CreateDrawingPatriarch();
XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, 1, 1, 2, 3);
XSSFPicture picture = (XSSFPicture)drawing.CreatePicture(anchor, pictureIdx);
```
其中,`XSSFDrawing` 和 `XSSFClientAnchor` 是 NPOI 的类,用于设置图片在 Excel 中的位置和大小。
3. 保存 Excel 文件:
```csharp
fs.Close();
FileStream outFs = new FileStream("test.xlsx", FileMode.Create);
workbook.Write(outFs);
outFs.Close();
```
这样就可以在 Excel 中插入图片了。需要注意的是,NPOI 只支持插入 PNG 和 JPEG 格式的图片。
阅读全文