解决使用NPOI在已有Sheet中插入多张图片问题
2012-04-11 11:35
465 查看
NPOI是操作Office的第三方组件,使用流方式,读写速度非常快。关于NPOI的更多认识,请见http://www.cnblogs.com/tonyqus/archive/2009/04/12/1434209.html
我在实践中遇到在Sheet中插入图片的问题,参考http://www.cnblogs.com/atao/archive/2009/09/28/1576044.html,可以向Sheet中插入图片,但是问题是Sheet必须是通过Workbook新创建的,在现有的Sheet上插入每次都没有成功。
现在场景要求:在现有的Excel模板中填写数据,并插入相应图片,当然模板是已存在的Sheet。经过N+1次的试验(N>=20)后,发现可以实现,并可以实现插入多图片。关键步骤在于:先将图片加入Workbook,然后再获取Sheet,否则添加的图片看不到。
我在实践中遇到在Sheet中插入图片的问题,参考http://www.cnblogs.com/atao/archive/2009/09/28/1576044.html,可以向Sheet中插入图片,但是问题是Sheet必须是通过Workbook新创建的,在现有的Sheet上插入每次都没有成功。
现在场景要求:在现有的Excel模板中填写数据,并插入相应图片,当然模板是已存在的Sheet。经过N+1次的试验(N>=20)后,发现可以实现,并可以实现插入多图片。关键步骤在于:先将图片加入Workbook,然后再获取Sheet,否则添加的图片看不到。
//将图片加入Workbook byte[] bytes = System.IO.File.ReadAllBytes(@"D:\MyProject\NPOIDemo\ShapeImage\image1.jpg"); int pictureIdx1 = hssfworkbook.AddPicture(bytes, HSSFWorkbook.PICTURE_TYPE_JPEG); bytes = System.IO.File.ReadAllBytes(@"D:\MyProject\NPOIDemo\ShapeImage\image2.jpg"); int pictureIdx2 = hssfworkbook.AddPicture(bytes, HSSFWorkbook.PICTURE_TYPE_JPEG); //获取存在的Sheet,必须在AddPicture之后 HSSFSheet sheet = hssfworkbook.GetSheet("Sheet1"); HSSFPatriarch patriarch = sheet.CreateDrawingPatriarch(); //插入图片 HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 0, 0, 0, 1, 3); HSSFPicture pict1 = patriarch.CreatePicture(anchor, pictureIdx1); anchor = new HSSFClientAnchor(0, 0, 1023, 0, 10,10, 11, 13); HSSFPicture pict2 = patriarch.CreatePicture(anchor, pictureIdx2);
相关文章推荐
- 解决使用NPOI在已有Sheet中插入多张图片问题
- 使用SurfaceView加载多张大分辨率图片做帧动画,解决OOM问题
- 解决使用valiform和同时上传多张图片问题
- NPOI导出Word插入图片问题解决方案
- eWebeditor在IE8、IE9中插入图片按钮不能使用问题的解决方法
- 在RxRichEdit中插入图片的完美解决方法(不使用剪贴板)
- 【完美解决系列】解决在Android中使用background时导致图片被拉伸的问题
- php使用GD图像库绘制输出图像出现乱码问题和图片上输出中文出现乱码问题解决方法。
- 使用图片预加载,解决断网后无法从后台获取提示网络异常的logo图片的问题
- 使用双缓冲解决图片切换时的闪烁问题
- Delphi 使用双缓冲解决图片切换时的闪烁问题 good
- mysql中insert与select的嵌套使用解决组合字段插入问题
- 解决使用Glide加载图片的时候会出现拉伸的情况,即使设置了centerCrop()也没用的问题
- 使用CSS解决文字环绕图片问题的代码
- 压缩多张图片,解压后发现图片文件损坏的问题解决
- Fckeditor和struts2结合使用解决不能上传图片的问题
- C#调用exe解决PDF转图片问题(使用PDFBox方案,java语言编译jar包实现)
- 解决Word2010中插入图片时变成空白框问题
- Qt5.7中 QtQuick使用风格组件 安卓图片马赛克问题解决
- 解决图片浮动调节不了的问题(使用vertical-align属性)