最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA如何讀取Excel數(shù)據(jù)

 更新時間:2020年09月04日 09:41:26   作者:孟應杰  
這篇文章主要介紹了JAVA如何讀取Excel數(shù)據(jù),幫助大家更好的理解和學習Java,感興趣的朋友可以了解下

1.創(chuàng)建Maven項目在pom文件中添加依賴

<dependencies>
    <!-- 舊的 .xls -->
    <!--<dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>3.17</version>
    </dependency>-->
    <!-- 新的 .xlsx -->
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>3.17</version>
    </dependency>
  </dependencies>

2.編寫代碼

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.IOException;

public class PoiTest {
  public static void main(String[] args) throws IOException {
    FileInputStream is = new FileInputStream("src/main/resources/test.xlsx");
    XSSFWorkbook workbook = new XSSFWorkbook(is);
    //讀取Sheet
    Sheet sheet = workbook.getSheetAt(0);
    Row row = sheet.getRow(0);
    //獲取最大行數(shù)
    int rownum = sheet.getPhysicalNumberOfRows();
    //獲取最大列數(shù)
    int colnum = row.getPhysicalNumberOfCells();
    for (int i = 0; i < rownum; i++) {
      //獲取第i行數(shù)據(jù)
      row = sheet.getRow(i);
      for (int j = 0; j < colnum; j++) {
        Cell cell = row.getCell(j);
        cell.setCellType(CellType.STRING);
        String cellText = cell.getStringCellValue();
        System.out.print(cellText + "\t");
      }
      System.out.println();
    }
  }
}

3.報錯

3.1 異常解決Cannot get a STRING value from a NUMERIC cell poi

poi導入excel表格數(shù)據(jù)時報java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell異常是因為在讀取cell單元格字符串時,有number類型的數(shù)據(jù),因此需要把它轉(zhuǎn)化為純String類型,這樣就不會報錯了。
報錯的地方類似于這樣。

//獲取單元格
XSSFCell cell = row.getCell(0);
//獲取單元格數(shù)據(jù)
String cellValue = cell.getStringCellValue();

在number類型轉(zhuǎn)化為String類型的過程中造成了Cannot get a STRING value from a NUMERIC cell這樣的問題,因此需要在讀取excel單元格數(shù)據(jù)轉(zhuǎn)化之前設置單元格類型為String,代碼如下。

//獲取單元格
XSSFCell cell = row.getCell(0);
//設置單元格類型
cell.setCellType(CellType.STRING);
//獲取單元格數(shù)據(jù)
String cellValue = cell.getStringCellValue();

3.2 poi導出Excel報錯java.lang.NoClassDefFoundError: org/openxmlformats/schemas/spreadsheetml/x2006/main/CTWorkbook$Factoryat

Exception in thread "main" java.lang.NoClassDefFoundError: org/openxmlformats/schemas/spreadsheetml/x2006/main/CTWorkbook$Factoryat org.apache.poi.xssf.usermodel.XSSFWorkbook.onWorkbookCreate(XSSFWorkbook.java:436)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:238)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:229)
at exportexcel.BuildXLSX.main(BuildXLSX.java:35)
Caused by: java.lang.ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook$Factory
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 4 more

錯誤原因:

未導入poi-ooxml-schema jar包。我使用的是poi-3.15 , 應該是poi-ooxml-schemas-3.15.jar包

以上就是JAVA如何讀取Excel數(shù)據(jù)的詳細內(nèi)容,更多關于JAVA讀取Excel數(shù)據(jù)的資料請關注腳本之家其它相關文章!

相關文章

  • Java 快速排序(QuickSort)原理及實現(xiàn)代碼

    Java 快速排序(QuickSort)原理及實現(xiàn)代碼

    這篇文章主要介紹了Java 快速排序(QuickSort)原理及實現(xiàn)代碼,有需要的朋友可以參考一下
    2014-01-01
  • 基于Spring Web Jackson對RequestBody反序列化失敗的解決

    基于Spring Web Jackson對RequestBody反序列化失敗的解決

    這篇文章主要介紹了基于Spring Web Jackson對RequestBody反序列化失敗的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Mybatis 自定義類型處理器示例詳解

    Mybatis 自定義類型處理器示例詳解

    在某些情況下我們需要對類型做處理,例如數(shù)據(jù)存儲的是Long,程序里是BigDecimal,那么我們出庫入庫都需要做處理,此時就可以使用類型處理器,本文通過示例給大家介紹Mybatis 自定義類型處理器的相關知識,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • MybatisPlus使用Mybatis的XML的動態(tài)SQL的功能實現(xiàn)多表查詢

    MybatisPlus使用Mybatis的XML的動態(tài)SQL的功能實現(xiàn)多表查詢

    本文主要介紹了MybatisPlus使用Mybatis的XML的動態(tài)SQL的功能實現(xiàn)多表查詢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-11-11
  • MybatisPlus 自定義.vm模板的生成

    MybatisPlus 自定義.vm模板的生成

    為更加快捷方便的開發(fā)代碼,使用MybatisPlus的代碼自動生成功能,將一些繁瑣的操作自動生成,本文主要介紹了MybatisPlus 自定義.vm模板的生成,感興趣的可以了解一下
    2024-03-03
  • 詳解Spring Boot實戰(zhàn)之Rest接口開發(fā)及數(shù)據(jù)庫基本操作

    詳解Spring Boot實戰(zhàn)之Rest接口開發(fā)及數(shù)據(jù)庫基本操作

    本篇文章主要介紹了Spring Boot實戰(zhàn)之Rest接口開發(fā)及數(shù)據(jù)庫基本操作,具有一定的參考價值,有興趣的可以了解一下
    2017-07-07
  • SpringBoot中使用MongoDB的連接池配置

    SpringBoot中使用MongoDB的連接池配置

    由于MongoDB的客戶端本身就是一個連接池,因此,我們只需要配置客戶端即可,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Java中的JVM虛擬機內(nèi)存分配詳解

    Java中的JVM虛擬機內(nèi)存分配詳解

    這篇文章主要介紹了Java中的JVM虛擬機內(nèi)存分配詳解,虛擬機是一種能夠執(zhí)行 Java 字節(jié)碼的虛擬機,它是 Java 語言的核心組成部分,負責將 Java 代碼轉(zhuǎn)換為機器碼并執(zhí)行,JVM 提供了內(nèi)存管理、垃圾回收、線程管理等功能,需要的朋友可以參考下
    2023-10-10
  • idea查看class字節(jié)碼的示例代碼

    idea查看class字節(jié)碼的示例代碼

    本文給大家分享三種方法介紹idea查看class字節(jié)碼,每種方法給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-04-04
  • Guava事件總線應用場景最佳實踐

    Guava事件總線應用場景最佳實踐

    這篇文章主要為大家介紹了Guava事件總線應用場景最佳實踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12

最新評論

佛冈县| 灵武市| 北辰区| 惠东县| 哈尔滨市| 夏河县| 沅陵县| 元江| 龙海市| 分宜县| 雅江县| 会泽县| 波密县| 布拖县| 岐山县| 泗阳县| 昌江| 偏关县| 惠州市| 民和| 常州市| 永州市| 兴业县| 广昌县| 剑川县| 龙门县| 唐山市| 五家渠市| 高邮市| 年辖:市辖区| 咸宁市| 古丈县| 年辖:市辖区| 阿勒泰市| 济宁市| 甘南县| 布拖县| 武夷山市| 海城市| 上犹县| 丰城市|