电脑技术学习

java处理Excel(POI包)

dn001

  最近在咱们这个论坛里总能看见大家提出用java处理Excel的问题,有时还涉及到图形的问题,大家看了这篇文章后,我想一定会解决不少人的问题!

  看到网上很多文章都一直都是说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文件中去了。

标签: