Cette fois, c'est Apache POI. Je l'ai utilisé pour importer des groupes de données créés par Excel dans le traitement Java.
Nom officiel Apache POI Bibliothèque Java capable de lire et d'écrire des fichiers au format Microsoft Office tels que Word et Excel
J'ai téléchargé le fichier jar suivant à partir d'ici. https://poi.apache.org/download.html
poi-4.1.1.jar poi-ooxml-4.1.1.jar poi-ooxml-schemas-4.1.1.jar commons-collections4-4.4.jar commons-compress-1.19.jar xmlbeans-3.1.0.jar
J'ai fait un processus pour importer la première feuille du fichier Excel cible, colonne A, dans Java.
SamplePOI.java
public class SamplePOI {
/*
*Ce processus
*/
public static void main(String[] args) {
//Entrez ici le chemin complet du fichier Excel que vous souhaitez importer
String ExcelPath = "";
//Objets pour Excel
Workbook wb;
Sheet sh;
Row row;
Cell cell;
//Liste contenant les données acquises
List<String> columnA_List = new ArrayList<>();
try (InputStream is = new FileInputStream(ExcelPath)) {
//Importez le fichier Excel cible dans Java
wb = WorkbookFactory.create(is);
//Spécifiez la première feuille du fichier cible
sh = wb.getSheetAt(0);
//Obtenez la ligne maximale de la feuille
int rowMaxA = sh.getLastRowNum();
//Tournez la boucle pour la ligne maximale et obtenez la cellule de la colonne A en tant que type String
for (int i = 0; i <= rowMaxA; i++) {
row = sh.getRow(i);
cell = row.getCell(0);
String cellValue = getCellStringValue(cell);
columnA_List.add(cellValue);
}
//Sortie vers la console
System.out.print("[");
for (String outStr : columnA_List) {
System.out.print(outStr);
}
System.out.print("]");
} catch (Exception e) {
e.printStackTrace();
}
}
/*
*Détermine l'état de la cellule et le renvoie sous forme de type String.
*/
private static String getCellStringValue(Cell cell) {
String retStr;
CellType cellType = cell.getCellType();
switch (cellType) {
case STRING:
retStr = cell.getStringCellValue();
break;
case NUMERIC:
retStr = String.valueOf(cell.getNumericCellValue());
break;
case BOOLEAN:
retStr = String.valueOf(cell.getBooleanCellValue());
break;
case FORMULA:
retStr = String.valueOf(cell.getCellFormula());
break;
case ERROR:
retStr = String.valueOf(cell.getErrorCellValue());
break;
default:
retStr = "";
break;
}
return retStr;
}
}
Lorsque je charge le fichier Excel contenant le hiragana suivant et que je l'exécute, "Akasatana Hamayarawa" est sorti.
samplePOI.result
[a Ka sa ta na ha ma ya ra wa]
Je n'ai fait qu'un traitement simple, mais j'ai senti que c'était la même chose que VBA. Il était un peu difficile de comprendre que le type de cellule devait être pris en compte lors de l'acquisition du contenu de la cellule.
Lorsque j'essaie d'importer une fonction dans Excel, il semble que la fonction elle-même soit acquise en tant que valeur au lieu du résultat du calcul? Donc si vous voulez le résultat, cela semble un peu difficile.
Recommended Posts