您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(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文件中添加以下引用,其中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è)資訊頻道。
免責(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)容。