版本)"/>
POI导出图片到Excel不生效 (2007以上版本)
现在网上有很多的POI导出方法,但是在导出时一直不能导出成功,所以考虑了下有可能是因为版本原因导致的。
大部分教程使用的都是 HSSFWorkbook,这个方法只能操作2003以下的版本,操作2007以上版本需要使用XSSFWorkbook
更改了方法之后,导出图片成功,以下是一些核心代码
Workbook wb = new XSSFWorkbook();CreationHelper helper = wb.getCreationHelper();Sheet sheet = wb.createSheet();Drawing drawing = sheet.createDrawingPatriarch();for (int i = 0; i <productToolList.size() ; i++) {//需要导出的数据列表String productImage = productToolList.get(i).getProductImage();InputStream is = new FileInputStream("图片路径");byte[] bytes = IOUtils.toByteArray(is);int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);is.close();ClientAnchor anchor = helper.createClientAnchor();anchor.setDx1(0);anchor.setDy1(0);anchor.setDx2(0);anchor.setDy2(0);anchor.setCol1(0);anchor.setRow1(i);anchor.setCol2(1);anchor.setRow2(i+1);Picture pict = drawing.createPicture(anchor, pictureIdx);Row row = sheet.createRow(i);row.createCell(1).setCellValue(productToolList.get(i).getProductSku());row.createCell(2).setCellValue(productToolList.get(i).getProductName()); row.createCell(3).setCellValue(productToolList.get(i).getProductNum().toString());}OutputStream fileOut = new FileOutputStream("需要导出的路径");wb.write(fileOut);fileOut.close();
更多推荐
POI导出图片到Excel不生效 (2007以上版本)
发布评论