看到网上很多文章都一直都是说POI的API不能处理图形,也就是不能往Excel里面加入图形。
但事实上,POI3.0出来之后,这个问题已经解决!所以说,往Excel里面加入图形不必一定求助于Java EXCEL API了。
最近在一位达人的启发下,终于解决了这个问题,就此,写下这些,假如有人看到的话,也希望能对他有点帮助吧。
代码:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
BufferedImage bufferImg = ImageIO.read(new File("D:\\fruit.PNG"));
ImageIO.write(bufferImg,"PNG",byteArrayOut);
HSSFClientAnchor anchor =
new HSSFClientAnchor(5,0,500,122,(short) 0, 5,(short)10,15);
HSSFPatriarch patri = sheet.createDrawingPatriarch();
patri.createPicture(anchor ,
wb.addPicture(byteArrayOut.toByteArray(),
HSSFWorkbook.PICTURE_TYPE_PNG));
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
wb.write(outStream);
上面代码只是大概,但需要用到的类都已经列出。接下来需要做的就是把 outStream输出到excel文件中去了。
具体的类的document可以去下面网站上查看:
http://jakarta.apache.org/poi/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.Html