想了半天,还是把我弃用的POI方案写出来吧,万一有人需要或是我往后需要,有地方查看。
POI版本是poi.3.10.1
public static void main(String[] args) {
FileOutputStream fileOut = null;
BufferedImage bufferImg = null;
//先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
try {
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
//图片是我本地的
bufferImg = ImageIO.read(new File("D:/84f9d3c7-b401-430a-bcf8-5483b560d7f4.jpeg"));
ImageIO.write(bufferImg, "jpeg", byteArrayOut);
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("test picture");
//画图的顶级管理器,一个sheet只能获取一个(一定要注意这点)
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
/**
* anchor主要用于设置图片的属性
* new HSSFClientAnchor(0, 0, 255, 255,(short) 1, 1, (short) 5, 8);
* 其中的"(short) 1, 1"是图片左上方在excel方格的位置
* 其中的“(short) 5, 8”是图片右下方在excel方格中的位置,修改这个位置可以把图片放大
*
*/
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 255, 255,(short) 1, 1, (short) 5, 8);
anchor.setAnchorType(3);
//插入图片
patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(),
HSSFWorkbook.PICTURE_TYPE_JPEG));
fileOut = new FileOutputStream("D:/测试Excel.xls");
// 写入excel文件
wb.write(fileOut);
System.out.println("----Excle文件已生成------");
} catch (Exception e) {
e.printStackTrace(); }
finally{
if(fileOut != null){
try {
fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦