更新時(shí)間:2022-09-15 10:10:12 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2609次
Java導(dǎo)入Excel文件的方法是什么?動(dòng)力節(jié)點(diǎn)小編來告訴大家。Java使用POI導(dǎo)入Excel文件,操作起來比較簡(jiǎn)單,支持xlsx格式。
從官網(wǎng)https://poi.apache.org/下載POI,小編選擇的是版本是3.17,下載后文件名是poi-bin-3.17.zip。起初擔(dān)心版本太新,和現(xiàn)有項(xiàng)目不兼容,后來程序跑起來沒發(fā)現(xiàn)什么問題。
將poi-3.17下的jar包和poi-3.17lib*.jar包都復(fù)制到項(xiàng)目的WEB-INFlib下,并在項(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: est.xlsx');
workbook = new HSSFWorkbook(inputStream);
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
遍歷Excel Sheet表
// 遍歷Excel Sheet
for (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());
}
}
導(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));
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743