欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java用POI解析excel并獲取所有單元格數(shù)據(jù)的實例

 更新時間:2017年10月07日 10:13:10   作者:小曉峰  
下面小編就為大家?guī)硪黄狫ava用POI解析excel并獲取所有單元格數(shù)據(jù)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1.導(dǎo)入POI相關(guān)jar包

org.apache.poi jar

2.代碼示例

public List getAllExcel(File file, String tableName, String fname,
  String enterpriseId, String reportId, String projectId)
  throws FileNotFoundException, IOException, ClassNotFoundException,
  InstantiationException, IllegalAccessException,
  NoSuchMethodException, SecurityException, IllegalArgumentException,
  InvocationTargetException, ParseException {


  List listt = new ArrayList();

  try {
    FileInputStream fis = new FileInputStream(file);
    Workbook workbook = null;
    if (fname.toLowerCase().endsWith("xlsx")) {
      workbook = new XSSFWorkbook(fis);
    } else if (fname.toLowerCase().endsWith("xls")) {
      workbook = new HSSFWorkbook(new POIFSFileSystem(fis));
    }
    int numberOfSheets = workbook.getNumberOfSheets();

    for (int i = 0; i < numberOfSheets; i++) {
      Sheet sheet = workbook.getSheetAt(i);
      for (int j = 1; j < sheet.getPhysicalNumberOfRows(); j++) { // 獲取每行
        XSSFRow row = (XSSFRow) sheet.getRow(j);
        if(row!=null){
          List list = new ArrayList();
          for (int k = 0; k < sheet.getRow(0).getPhysicalNumberOfCells(); k++) { // 獲取每個單元格
            Cell cell = row.getCell(k);
            if (cell == null) {
              list.add("");
              continue;
            }
            switch (cell.getCellType()) {
            case Cell.CELL_TYPE_STRING:
              list.add(cell.getRichStringCellValue().getString());
              break;
            case Cell.CELL_TYPE_NUMERIC:
              if (DateUtil.isCellDateFormatted(cell)) {
                list.add(cell.getDateCellValue());
              } else {
                list.add(cell.getNumericCellValue());
              }
              break;
            case Cell.CELL_TYPE_BOOLEAN:
              list.add(cell.getBooleanCellValue());
              break;
            case Cell.CELL_TYPE_FORMULA:
              list.add(cell.getCellFormula());
              break;
            default:
              list.add("");
            break;
          }
        }

        listt.add(getByReflect(tableName, list, enterpriseId,reportId, projectId));
      }
    }
  }
    fis.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    return listt;
}

以上這篇Java用POI解析excel并獲取所有單元格數(shù)據(jù)的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于Jmeter接口測試實戰(zhàn)-Cookies

    關(guān)于Jmeter接口測試實戰(zhàn)-Cookies

    這篇文章主要介紹了關(guān)于Jmeter接口測試實戰(zhàn)-Cookies問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • java使用Socket類接收和發(fā)送數(shù)據(jù)

    java使用Socket類接收和發(fā)送數(shù)據(jù)

    Socket類是負(fù)責(zé)處理客戶端通信的Java類。本文主要是介紹java使用Socket類接收和發(fā)送數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • Java vector的詳解及實例

    Java vector的詳解及實例

    這篇文章主要介紹了Java vector的詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java實現(xiàn)分頁代碼

    Java實現(xiàn)分頁代碼

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)分頁代碼,提高查詢效率,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • java 線程池的實現(xiàn)方法

    java 線程池的實現(xiàn)方法

    在本篇文章里小編給大家整理了關(guān)于java 線程池的實現(xiàn)方法,有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-02-02
  • SpringBoot關(guān)閉過程中銷毀DisposableBean解讀

    SpringBoot關(guān)閉過程中銷毀DisposableBean解讀

    這篇文章主要介紹了SpringBoot關(guān)閉過程中銷毀DisposableBean解讀,一個bean的生命周期,指的是 bean 從創(chuàng)建,初始化,一系列使用,銷毀的過程,今天來講講 bean 的初始化和銷毀的方法,需要的朋友可以參考下
    2023-12-12
  • Java如何利用return結(jié)束方法調(diào)用

    Java如何利用return結(jié)束方法調(diào)用

    這篇文章主要介紹了Java如何利用return結(jié)束方法調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • javax.validation.constraints如何校驗參數(shù)合法性

    javax.validation.constraints如何校驗參數(shù)合法性

    本文將深入探討javax.validation.constraints的基本用法和高級應(yīng)用,幫助讀者更好地理解和運(yùn)用這個強(qiáng)大的校驗框架,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • spring kafka框架中@KafkaListener 注解解讀和使用案例

    spring kafka框架中@KafkaListener 注解解讀和使用案例

    Kafka 目前主要作為一個分布式的發(fā)布訂閱式的消息系統(tǒng)使用,也是目前最流行的消息隊列系統(tǒng)之一,這篇文章主要介紹了kafka @KafkaListener 注解解讀,需要的朋友可以參考下
    2023-02-02
  • Spring之關(guān)于PropertyDescriptor的擴(kuò)展剖析

    Spring之關(guān)于PropertyDescriptor的擴(kuò)展剖析

    這篇文章主要介紹了Spring之關(guān)于PropertyDescriptor的擴(kuò)展剖析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論