C#使用 NPOI 添加图片到 Excel 单元格

入参:工作簿对象,某个单元格对象,将要写入的图片字节数组

 

对象解释:

XSSFClientAnchor:可设置图片放置的开始、结束单元格,X、Y 起始点位(这里挖个坑,具体设置多少可以根据行高等进行计算,具体可参考 pic.Resize() 的实现 ) 

 

 

复制代码
 1 /// <summary>
 2 /// 将图片添加到工作簿
 3 /// </summary>
 4 /// <param name="workbook"></param>
 5 /// <param name="cell"></param>
 6 /// <param name="bytes"></param>
 7 void SetCellPhoto(IWorkbook workbook, NPOI.SS.UserModel.ICell cell, byte[] bytes)
 8 {
 9     int pictureIdx = workbook.AddPicture(bytes, NPOI.SS.UserModel.PictureType.PNG);
10 
11     // 创建绘图对象
12     var drawing = workbook.GetSheetAt(0).CreateDrawingPatriarch();
13 
14     XSSFClientAnchor anchor = new XSSFClientAnchor(
15         0, 50000, 0, 0,  // 从单元格左上角开始
16         cell.ColumnIndex + 2,
17         cell.RowIndex,
18         cell.ColumnIndex + 5,
19         cell.RowIndex + 1
20         );
21     anchor.AnchorType = (AnchorType)2; // 绝对定位
22 
23     // 创建图片对象
24     XSSFPicture pic = (XSSFPicture)drawing.CreatePicture(anchor, pictureIdx);
25 
26     // 设置图片的缩放大小
27     pic.Resize(1, 0.9);
28  }
复制代码

 

作者:pengxx

出处:https://www.cnblogs.com/pengxx/p/18256224

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Pengxx  阅读(718)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示