Cet article décrit la méthode d'analyse du contenu Excel en Java. Partagez-le pour votre référence. La méthode de mise en œuvre spécifique est la suivante:
La copie de code est la suivante:
Importer java.io.file;
import java.io.fileInputStream;
import java.io.inputStream;
import java.util.arraylist;
import org.apache.poi.hssf.usermodel.hssfworkbook;
import org.apache.poi.ss.usermodel.cell;
import org.apache.poi.ss.usermodel.row;
import org.apache.poi.ss.usermodel.sheet;
import org.apache.poi.ss.usermodel.workBook;
import org.apache.poi.xssf.usermodel.xssfworkbook;
Test de classe publique {
/ **
* @param args
* /
public static void main (String [] args) {
MeetQuery ("403", "E: // Excel // 1 Fire Level 3 Plan Disposal Process.xlsx");
}
Private Static ArrayList <Eetbean> MeetQuery (niveau de chaîne, nom de fichier de chaîne) {
ArrayList <Emberbean> list = new ArrayList <Emberbean> ();
essayer {
Fichier fichier = nouveau fichier (nom de fichier);
InputStream est = new FileInputStream (fichier);
Workbook Workbook = NULL; // Un objet de classeur est un fichier Excel
Feuille de feuille = null; // page de feuille, puisque Excel a toujours plusieurs pages de feuille, il est nécessaire de déterminer lequel est la valeur spécifique.
Row Row1 = null; // une ligne dans le nombre de page de feuille
int colnum = 0; // Compte total de lignes de feuille
Cell Cell = null; // contenu de la première colonne
Cell cell1 = null; // le contenu de la deuxième colonne
String MeetingName = null; // nom de point
String meed = null; // numéro de point
Meeting String = null; // points clés
Temps de réunion des cordes = NULL; // Temps d'élimination
MeetBean Meet = NULL;
// déterminer le format du fichier 2003/2007 l'objet est géré différemment en fonction de la version
if (filename.endswith (". xls")) {
classeur = nouveau HSSFWorkBook (IS); // Excel 2003
} else if (filename.endswith (". xlsx")) {
Workbook = nouveau XSSFWorkBook (IS); // Excel 2007
} autre {
retourner null;
}
// Pour déterminer la page de feuille à traiter, il y a trois utilisateurs au total et ils traiteront différents points clés de la gestion de chacun.
if (niveau == "401") {
// points clés et conseils de gestion pour le webmaster en service
sheet = workbook.getSheetAt (0);
Colnum = sheet.getSastrownum (); // Le nombre total de lignes n'inclut pas le contenu du titre
System.out.println ("Total:" + Colnum + "Row");
pour (int i = 3; i <= colnum; i ++) {
Meet = new Metbean ();
row1 = sheet.getrow (i); // nombre de lignes à analyser
Cell = row1.getCell ((court) 2); // le nombre de colonnes pour résoudre les noms de points clés
Cell1 = row1.getCell ((court) 4); // le nombre de colonnes pour analyser les invites de points clés
if (cell! = null && cell1! = null) {
meeetName = Cell.getStringCellValue ();
réunion = cell1.getStringCellValue ();
meeetid = "yd" + i;
// Si le nom du point d'élimination est vide, il bouclera vers le dernier point d'élimination et le retour. . .
if (! meetName.equals ("")) {
String intstr = string
.Valueof ((int) (math.random () * 10 + 1)); // générer des nombres aléatoires de 1 à 10
// S'il s'agit d'un nombre aléatoire de 1-9, le format de temps automatique de compensation zéro est 00:00:00
if (intstr.length () <2) {
String min = "0" + intstrus;
SeetTime = "00:" + min + ": 00";
} autre {
SeetTime = "00:" + intstr + ": 00";
}
meet.setMeetId (meedid); // nombre de points clés pour l'élimination
meet.setMeetName (MeetName); // le nom des points clés de l'élimination
meet.setmeethint (meethine); // 0 points clés pour gérer
meet.setMeettime (MeetTime); // Temps d'élimination
meet.setmeetlevel ("401"); // Niveau de manutention des points
list.add (meet);
} autre {
Liste de retour;
}
} autre {
Liste de retour;
}
}
} else if (niveau == "402") {
feuille = workbook.getheetat (1); // les points clés du répartiteur et les conseils de manutention de l'OCC
Colnum = sheet.getSastrownum (); // Le nombre total de lignes n'inclut pas le contenu du titre
System.out.println ("Total:" + Colnum + "Row");
pour (int i = 3; i <= colnum; i ++) {
Meet = new Metbean ();
row1 = sheet.getrow (i); // nombre de lignes à analyser
Cell = row1.getCell ((court) 2); // le nombre de colonnes pour résoudre les noms de points clés
Cell1 = row1.getCell ((court) 4); // le nombre de colonnes pour analyser les invites de points clés
if (cell! = null && cell1! = null) {
meeetName = Cell.getStringCellValue ();
réunion = cell1.getStringCellValue ();
meeetid = "yd" + i;
// Si le nom du point d'élimination est vide, il bouclera vers le dernier point d'élimination et le retour. . .
if (! meetName.equals ("")) {
String intstr = string
.Valueof ((int) (math.random () * 10 + 1)); // générer des nombres aléatoires de 1 à 10
// S'il s'agit d'un nombre aléatoire de 1-9, le format de temps automatique de compensation zéro est 00:00:00
if (intstr.length () <2) {
String min = "0" + intstrus;
SeetTime = "00:" + min + ": 00";
} autre {
SeetTime = "00:" + intstr + ": 00";
}
meet.setMeetId (meedid); // nombre de points clés pour l'élimination
meet.setMeetName (MeetName); // le nom des points clés de l'élimination
meet.setmeethint (meethine); // points clés pour la manipulation
meet.setMeettime (MeetTime); // Temps d'élimination
meet.setmeetlevel ("402"); // Niveau de manutention des points
list.add (meet);
} autre {
Liste de retour;
}
} autre {
Liste de retour;
}
}
} else if (niveau == "403") {
feuille = workbook.getheetat (2); // points clés du centre de contrôle et conseils de manutention
Colnum = sheet.getSastrownum (); // Le nombre total de lignes n'inclut pas le contenu du titre
System.out.println ("Total:" + Colnum + "Row");
int nameInt = 0;
int hineint = 0;
pour (int j = 0; j <= colnum; j ++) {
row1 = sheet.getrow (3); // seul le nombre de lignes à analyser a le nom des points clés dans la troisième ligne, le contenu de l'invite
Cell = row1.getCell ((court) 1); // le nombre de colonnes pour résoudre les noms de points clés
Cell1 = row1.getCell ((court) 2); // le nombre de colonnes pour analyser les invites de points clés
}
pour (int i = 3; i <= colnum; i ++) {
Meet = new Metbean ();
row1 = sheet.getrow (i); // nombre de lignes à analyser
Cell = row1.getCell ((court) 1); // le nombre de colonnes pour résoudre les noms de points clés
Cell1 = row1.getCell ((court) 2); // le nombre de colonnes pour analyser les invites de points clés
if (cell! = null && cell1! = null) {
meeetName = Cell.getStringCellValue ();
réunion = cell1.getStringCellValue ();
meeetid = "yd" + i;
// Si le nom du point d'élimination est vide, il bouclera vers le dernier point d'élimination et le retour. . .
if (! meetName.equals ("")) {
String intstr = string
.Valueof ((int) (math.random () * 10 + 1)); // générer des nombres aléatoires de 1 à 10
// S'il s'agit d'un nombre aléatoire de 1-9, le format de temps automatique de compensation zéro est 00:00:00
if (intstr.length () <2) {
String min = "0" + intstrus;
SeetTime = "00:" + min + ": 00";
} autre {
SeetTime = "00:" + intstr + ": 00";
}
meet.setMeetId (meedid); // nombre de points clés pour l'élimination
meet.setMeetName (MeetName); // le nom des points clés de l'élimination
meet.setmeethint (meethine); // points clés pour la manipulation
meet.setMeettime (MeetTime); // Temps d'élimination
meet.setmeetlevel ("403"); // Niveau de manutention des points
list.add (meet);
} autre {
Liste de retour;
}
} autre {
Liste de retour;
}
}
}
is.close ();
} catch (exception e) {
e.printStackTrace ();
}
Liste de retour;
}
}
J'espère que cet article sera utile à la programmation Java de tous.