Java utilise POI pour importer des fichiers Excel, ce qui est relativement simple à utiliser et prend en charge le format xlsx.
Télécharger le package de ressources POI
Télécharger POI depuis le site officiel La version sélectionnée dans cet article est 3.17. Le nom du fichier après le téléchargement est poi-bin-3.17. fermeture éclair. Au début, je craignais que la version soit trop récente et incompatible avec les projets existants, mais plus tard, le programme a fonctionné et aucun problème n'a été détecté.
Copiez le package jar sous le package poi-3.17 et poi-3.17lib*.jar dans le WEB-INFlib du projet et configurez le chemin de compilation dans le projet.
Ajoutez les références suivantes dans le fichier Java, où hssf est pour le format xls et xssf est pour le format 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;
Lire le fichier Excel
HSSFWorkbook workbook = null; try { // 读取Excel文件 InputStream inputStream = new FileInputStream('c:\test.xlsx'); workbook = new HSSFWorkbook(inputStream); inputStream.close(); } catch (Exception e) { e.printStackTrace(); }
Parcourir la feuille Excel
// 遍历Excel Sheetfor (int numSheet = 0; numSheet < workbook.getNumberOfSheets(); numSheet++) { workbook.getSheetAt(numSheet); }
Parcourir les lignes
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 rencontre un problème Cannot get a text value from a numeric cell “Poi”
Lors de l'import d'un fichier Excel, si une colonne est de type numérique, une erreur cell.getStringCellValue()
sera signalée directement via Cannot get a text value from a numeric cell “Poi”
.
Solution :
DataFormatter formatter = new DataFormatter(); String val = formatter.formatCellValue(sheet.getRow(col).getCell(row));
Tutoriel recommandé : Tutoriel Java
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!