Poi 写入图片进入excel
2024-08-30 18:36:36
public static void cacheWritePicture(BufferedImage bufferImg, Sheet sheet, Workbook wb, int width, int height, int col1, int row1, int col2, int row2) throws Exception {
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
ImageIO.write(bufferImg, "jpg", byteArrayOut);
SXSSFDrawing drawing = (SXSSFDrawing) sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(
XSSFShape.EMU_PER_PIXEL * 17,
XSSFShape.EMU_PER_PIXEL * 17,
width,
height,
col1, row1, col2, row2);
//画图的顶级管理器,一个sheet只能获取一个(一定要注意这点)
//AnchorType.MOVE_AND_RESIZE,此时才可以设置图片的绝对宽度和高度,要不然,图片的宽度和高度,可能设置没有效果
anchor.setAnchorType(AnchorType.MOVE_AND_RESIZE);
//插入图片
drawing.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), XSSFWorkbook.PICTURE_TYPE_JPEG));
}
anchor.setAnchorType(AnchorType.MOVE_AND_RESIZE);
//注意:这行代码是关键
width和height都是:
XSSFShape.EMU_PER_PIXEL * 100
注意:如果,图片要放在一个单元格里面,col1和col2要相同,row1和row2也要相同.
最新文章
- 码农干货系列【20】--add gtTime to Promise.js
- Spring+EhCache缓存实例
- UE移植到SAE云平台
- IOS的H5页面滑动不流畅的问题:
- How to Avoid OOM in Android
- ASP.NET 5 之 错误诊断和它的中间件们
- int与string转换
- webgl 网站demo
- 优化Webpack构建性能的几点建议
- .so的封装调用
- Android studio的错误:radle sync failed: Cause: failed to find target android-21 :
- Git以及TortoiseGit的下载安装使用
- 安卓点击home键重启
- MySQL root密码忘记后更优雅的解决方法
- 根据自身经验总结的一个IT时间管理
- [源码] YoCelsius
- Andorid之Annotation框架初使用(七)
- 六个前端开发工程师必备的Web设计模式/模块资源
- hdu3999-The order of a Tree (二叉树的先序遍历)
- graphql 数据增删改查分页及关联操作(三)