使用POI向Excel里插入图片

代码如下:

  1. package test;
  2. import java.io.ByteArrayOutputStream;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
  8. import org.apache.poi.hssf.usermodel.HSSFPatriarch;
  9. import org.apache.poi.hssf.usermodel.HSSFSheet;
  10. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  11. public class PicExcelTest {
  12.     public static void main(String[] args) throws IOException {
  13.         
  14.         FileOutputStream out = new FileOutputStream("D:/workbook.xls");  
  15.         HSSFWorkbook wb = new HSSFWorkbook();
  16.         
  17.         HSSFSheet sheet1 = wb.createSheet("picture");
  18.         HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();;   
  19.         HSSFClientAnchor anchor1 = new HSSFClientAnchor(0,0,0,0,(short)0,0,(short)8,20);
  20.         HSSFClientAnchor anchor2 = new HSSFClientAnchor(0,0,0,0,(short)0,24,(short)8,44); 
  21.         patriarch.createPicture(anchor1, wb.addPicture(loadImage("D:/Sunset.jpg"),HSSFWorkbook.PICTURE_TYPE_JPEG));    
  22.         patriarch.createPicture(anchor2, wb.addPicture(loadImage("D:/Water lilies.jpg"),HSSFWorkbook.PICTURE_TYPE_JPEG));
  23.      
  24.         wb.write(out);  
  25.         out.close(); 
  26.     }
  27.     
  28.     public static byte[] loadImage(String filePath) {
  29.         try {
  30.             FileInputStream input = new FileInputStream(new File(filePath));
  31.             ByteArrayOutputStream output = new ByteArrayOutputStream();
  32.             byte buf[] = new byte[1024];
  33.             for (;;) {
  34.                 int noBytesRead = input.read(buf);
  35.                 if (noBytesRead == -1) {
  36.                     return output.toByteArray();
  37.                 }
  38.                 output.write(buf, 0, noBytesRead);
  39.             }
  40.         } catch (IOException e) {
  41.             throw new RuntimeException(e);
  42.         }
  43.     }
  44. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值