Java 中,調用 Apache 的 POI 操作 Excel,往 Excel 中插入一張圖片。
//create a new workbook Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook(); //add picture data to this workbook. // 開啟圖片 InputStream is = new FileInputStream("image1.jpeg"); byte[] bytes = IOUtils.toByteArray(is); // 增加圖片到 Workbook int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG); is.close(); CreationHelper helper = wb.getCreationHelper(); //create sheet Sheet sheet = wb.createSheet(); // Create the drawing patriarch. This is the top level container for all shapes. Drawing drawing = sheet.createDrawingPatriarch(); //add a picture shape ClientAnchor anchor = helper.createClientAnchor(); //set top-left corner of the picture, //subsequent call of Picture#resize() will operate relative to it // 設定圖片位置 anchor.setCol1(3); anchor.setRow1(2); Picture pict = drawing.createPicture(anchor, pictureIdx); //auto-size picture relative to its top-left corner pict.resize(); //save workbook String file = "picture.xls"; if(wb instanceof XSSFWorkbook) file += "x"; // 輸出檔案 FileOutputStream fileOut = new FileOutputStream(file); wb.write(fileOut); fileOut.close();
本文連結:blog.csdn.net/joyous/article/details/8780112
Q群 236201801 討論