本篇文章給大家分享的是有關(guān)Java用POI導(dǎo)入Excel文件的方法,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、做網(wǎng)站、云浮網(wǎng)絡(luò)推廣、重慶小程序開發(fā)公司、云浮網(wǎng)絡(luò)營(yíng)銷、云浮企業(yè)策劃、云浮品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供云浮建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com下載POI資源包
從官網(wǎng)下載POI,本文選擇的是版本是3.17,下載后文件名是poi-bin-3.17.zip。起初擔(dān)心版本太新,和現(xiàn)有項(xiàng)目不兼容,后來(lái)程序跑起來(lái)沒發(fā)現(xiàn)什么問(wè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遇到問(wèn)題Cannot get a text value from a numeric cell “Poi”
導(dǎo)入Excel文件時(shí),如果某列是數(shù)值類型,直接通過(guò)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ì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。