NPOI 调用宏 插入图片
时间: 2023-08-21 20:32:31 浏览: 203
可以在页眉中插入图片的NPOI
NPOI是一个.NET平台下的开源项目,用于处理Microsoft Office格式文件。要使用NPOI插入图片到Excel中,可以按照以下步骤进行操作:
1. 引入NPOI的相关命名空间:
```csharp
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using System.IO;
```
2. 打开Excel文件并获取工作簿和工作表对象:
```csharp
FileStream file = new FileStream("test.xls", FileMode.OpenOrCreate, FileAccess.ReadWrite);
HSSFWorkbook workbook = new HSSFWorkbook(file);
ISheet sheet = workbook.GetSheet("Sheet1");
```
3. 创建绘图对象和图片数据流:
```csharp
IDrawing patriarch = sheet.CreateDrawingPatriarch();
FileStream fs = new FileStream("picture.jpg", FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, (int)fs.Length);
fs.Close();
```
4. 创建客户端锚点和图片对象,并将图片对象插入Excel中:
```csharp
IClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0, 2, 2, 4, 10);
IPicture picture = patriarch.CreatePicture(anchor, workbook.AddPicture(buffer, PictureType.JPEG));
picture.Resize();
```
5. 保存Excel文件并释放资源:
```csharp
workbook.Write(file);
file.Close();
```
这样就可以使用NPOI插入一张名为“picture.jpg”的图片到Excel文件的第一个工作表中,图片放置在(2,2)和(4,10)坐标的矩形区域中。注意,插入图片时需要指定图片的类型,如JPEG、PNG等。
阅读全文