JXL讀取Excel中的圖片

本文介绍如何使用JXL库读取Excel文件中的PNG格式图片,并详细解释了图片读取过程中的限制与解决方案,包括如何记录图片在Excel中的行索引以便二次获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 使用JXL讀取Excel中的圖片,需要說明的是JXL讀取Excel中的圖片有限制,只支持png格式的圖片

由于JXL讀取Excel中的圖片是一次讀取所有的圖片,并且存在一個圖片集合中,

而且很多時候Excel中一行中數據不光是圖片類型,還有其他類型,所以需要對圖片在Excel中的行索引進行記錄,以方便第二次索取

所以程序中采用了Map集合存儲圖片的在Excel中的行索引和圖片字節數據(是存儲在一個字節數組中)


class ReadPicture{
 private Map<Integer, byte[]> map;
 public ReadPicture(){
  map = new HashMap();
 }
 public Map readPictureData(String excelPath) throws BiffException, IOException{
  //Excel工作薄對象
  Workbook book = Workbook.getWorkbook(new File(excelPath));
  //第一張工作表對象
  Sheet sheet = book.getSheet(0);
  //判斷讀取sheet的行始位置
  Cell cell = null;
  for(int i=0;i<sheet.getNumberOfImages();i++){
   Image image = sheet.getDrawing(i);
   if(image!=null){
    //System.out.println("image.getRow()--->" + image.getRow());
    int key = (int) image.getRow();//拿到圖片所在的行索引
    //System.out.println("key--->" + key);
    byte[] imageData = image.getImageData();//拿到該行圖片的字節數據
    map.put(key, imageData);
   }else{
    break;
   }
  }
  return map;
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值