Java运用POI导入Excel文件,操纵起来比较简单,且支撑xlsx花样。
下载POI资本包
从官网下载POI,本文挑选的是版本是3.17,下载后文件名是poi-bin-3.17.zip。早先忧郁版本太新,和现有项目不兼容,厥后顺序跑起来没发明什么问题。
将poi-3.17下的jar包和poi-3.17\lib\*.jar包都复制到项目的WEB-INF\lib下,并在项目设置编译途径。
在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) { // 循环行 for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) { HSSFRow row = sheet.getRow(rowNum); if (row == null) { continue;// 疏忽并继承读取 } 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”
导入Excel文件时,假如某列是数值范例,直接经由过程cell.getStringCellValue()
会报Cannot get a text value from a numeric cell “Poi”
毛病。
解决办法:
DataFormatter formatter = new DataFormatter(); String val = formatter.formatCellValue(sheet.getRow(col).getCell(row));
引荐教程:Java教程
以上就是java怎样导入excel文件的细致内容,更多请关注ki4网别的相干文章!