看到網上很多文章都一直都是說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
新聞熱點
疑難解答