參考博客:點擊跳轉
使用poi-3.10.1版本jar包
參考博客中代碼寫了一個測試,發現可行
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
String path = "D:\\tmp\\融合人臉模板.jpg";
ByteArrayOutputStream os = new ByteArrayOutputStream();
BufferedImage bufferedImage = ImageIO.read(new File(path));
ImageIO.write(bufferedImage,"PNG",os);
HSSFWorkbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("test");
HSSFPatriarch hp = (HSSFPatriarch) sheet.createDrawingPatriarch();
HSSFClientAnchor hca = new HSSFClientAnchor(5,5,5,5,(short)0,1,(short)5,26);
hp.createPicture(hca,wb.addPicture(os.toByteArray(),HSSFWorkbook.PICTURE_TYPE_PNG));
String outPath = "D:\\tmp\\test.xlsx";
FileOutputStream fos = new FileOutputStream(outPath);
wb.write(fos);
fos.flush();
fos.close();
最後實驗結果如下,將圖片放在了excel中
弄這個主要是公司爲了生成報表,報表裏面有一些圖表要寫入到excel中,並不僅僅是生成表格數據。