溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java用POI導(dǎo)入Excel文件的方法

發(fā)布時(shí)間:2020-06-26 16:51:15 來源:億速云 閱讀:355 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關(guān)Java用POI導(dǎo)入Excel文件的方法,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

下載POI資源包

從官網(wǎng)下載POI,本文選擇的是版本是3.17,下載后文件名是poi-bin-3.17.zip。起初擔(dān)心版本太新,和現(xiàn)有項(xiàng)目不兼容,后來程序跑起來沒發(fā)現(xiàn)什么問題。

將poi-3.17下的jar包和poi-3.17\lib\*.jar包都復(fù)制到項(xiàng)目的WEB-INF\lib下,并在項(xiàng)目配置編譯路徑。

Java用POI導(dǎo)入Excel文件的方法

在Java文件中添加以下引用,其中hssf用于xls格式,xssf用于xlsx格式

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

讀取Excel文件

HSSFWorkbook workbook = null;
try {
    // 讀取Excel文件
    InputStream inputStream = new FileInputStream('c:\test.xlsx');
    workbook = new HSSFWorkbook(inputStream);
    inputStream.close();
} catch (Exception e) {
    e.printStackTrace();
}

遍歷Excel Sheet表

// 遍歷Excel Sheetfor (int numSheet = 0; numSheet < workbook.getNumberOfSheets(); numSheet++) {
    workbook.getSheetAt(numSheet);
}

遍歷行

HSSFSheet sheet = workbook.getSheetAt(0);
if (sheet != null) {
    // 循環(huán)行
    for     (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
        HSSFRow row = sheet.getRow(rowNum);
        if (row == null) {
            continue;// 忽略并繼續(xù)讀取
        }
        HSSFCell cell = row.getCell(0);
      if (cell == null) {
            continue;
        }
      //System.out.println('cell.getStringCellValue0():' + cell.getStringCellValue());
        cell = row.getCell(1);
       if (cell == null) {
            continue;
       }
        //System.out.println('cell.getStringCellValue1():' + cell.getStringCellValue());
   }
}

POI遇到問題Cannot get a text value from a numeric cell “Poi”

導(dǎo)入Excel文件時(shí),如果某列是數(shù)值類型,直接通過cell.getStringCellValue()會(huì)報(bào)Cannot get a text value from a numeric cell “Poi”錯(cuò)誤。

解決辦法:

DataFormatter formatter = new DataFormatter();
String val = formatter.formatCellValue(sheet.getRow(col).getCell(row));

以上就是Java用POI導(dǎo)入Excel文件的方法,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI