einführen
Jakarta Poi ist eine Reihe von Java-APIs für den Zugriff auf Microsoft-formatierte Dokumente. Jakarta POI besteht aus vielen Komponenten, einschließlich HSSF zum Betrieb von Excel -Formatdateien und HWPF für Betriebswort. Unter verschiedenen Komponenten ist nur HSSF für den Betrieb von Excel relativ ausgereift. Offizielle Homepage http://poi.apache.org/index.html, API -Dokumentation http://poi.apache.org/apidocs/index.html
erreichen
Vollständige Kommentare wurden dem Code hinzugefügt.
Importieren Sie Java.io.FileInputStream; Import Java.io.FileOutputStream; Import Java.io.inputStream; Import Java.io.outputStream; Import Java.util.ArrayList; Import Java.util.List; org.apache.poi.hssf.usermodel.hssfcellstyle; import org.apache.poi.hssf.usmodel.hssfrow; Exceloperate {public static void main (String [] args) {// excel table createexcel (getstudent ()); // Excel -Tabellenliste <Student> list = ReadExcel () lesen; System.out.println (list.toString ()); } / *** Daten initialisieren** @return data* / private statische Liste <Studenten> getStudent () {list <Student> list = new ArrayList <Student> (); Student Student1 = neuer Schüler ("Xiao Ming", 8, "zweite Klasse"); Student Student2 = neuer Schüler ("Xiao Guang", 9, "zweite Klasse"); Student student3 = neuer student ("xiao hua", 10, "vierte Klasse"); list.add (student1); list.add (student2); list.add (student3); Rückgabeliste; } / ** * excel erstellen * * @param list * data * / private static void createexcel (Liste <Studenten> Liste) {// Erstellen Sie eine Excel -Datei HSSFWorkbook Workbook = new HSSFWorkbook (); // Erstellen Sie ein Arbeitsblatt HSSFSheet Sheet = Workbook.Createet ("Schülertabelle eins"); // Fügen Sie die Header -Zeile Hssfrow Hssfrow = Sheet.CreateRow (0) hinzu; // das Zellformat auf zentrale HSSFcellStyle Cellstyle = Workbook.CreateCellstyle () festlegen; CellStyle.SetAnignment (hssfcellStyle.Align_Center); // Headerinhalte hinzufügen HSSFCELL Headcell = Hssfrow.CreateCell (0); Headcell.SetCellValue ("Name"); Headcell.SetCellStyle (CellStyle); Kopfhörer = hssfrow.CreateCell (1); Headcell.SetCellValue ("Alter"); Headcell.SetCellStyle (CellStyle); Kopfhörer = hssfrow.CreateCell (2); Headcell.SetCellValue ("Note"); Headcell.SetCellStyle (CellStyle); // Dateninhalt hinzufügen für (int i = 0; i <list.size (); i ++) {hssfrow = Sheet.Createrow ((int) i+1); Student student = list.get (i); // Erstellen Sie eine Zelle und setzen Sie den Wert hssfcell Cell = hssfrow.CreateCell (0); cell.setcellValue (student.getName ()); Cell.SetCellStyle (CellStyle); cell = hssfrow.createcell (1); cell.setCellValue (student.getage ()); Cell.SetCellStyle (CellStyle); cell = hssfrow.createcell (2); cell.setCellValue (student.getGrade ()); Cell.SetCellStyle (CellStyle); } // Excel -Datei speichern {outputStream outputStream = new FileOutputStream ("d: /students.xls"); Workbook.write (outputStream); outputStream.close (); } catch (Ausnahme e) {e.printstacktrace (); }} / ** * Read Excel * * @return datenerfassung * / private statische Liste <Studenten> ReadExcel () {list <Student> list = new ArrayList <Studenten> (); HSSFWORKBOOK WORKBUCH = NULL; Versuchen Sie {// Excel File InputStream InputStream = New FileInputStream ("d: /students.xls"); Workbook = New HSSFWorkbook (InputStream); inputStream.close (); } catch (Ausnahme e) {e.printstacktrace (); } // Schleifenarbeitsblatt für (int numsheet = 0; numSheet <Workbook.getNumberofsheets (); numSheet ++) {hssfsheet hssfsheet = Workbook.getSheetat (numSheet); if (hssfsheet == null) {Fortsetzung; } // Loop Row für (int rownum = 1; Rownum <= hssfsheet.getLastrownum (); Rownum ++) {hssfrow hssfrow = hssfsheet.getrow (rownum); if (hssfrow == null) {Fortsetzung; } // Sparen Sie den Inhalt in der Zelle in den Sammlungsstudentenstudent = New Student (); Hssfcell cell = hssfrow.getCell (0); if (cell == null) {Fortsetzung; } student.setName (cell.getStringCellValue ()); cell = hssfrow.getCell (1); if (cell == null) {Fortsetzung; } student.setage ((int) cell.getNumericcellValue ()); cell = hssfrow.getCell (2); if (cell == null) {Fortsetzung; } student.setgrade (cell.getStringCellValue ()); list.add (Student); }} Rückgabeliste; }}Fügen Sie den Code der Schülerklasse bei
Student der öffentlichen Klasse {privater String -Name; privates int Alter; private Saitenklasse; public student () {} public student (Stringname, int Alter, String -Note) {Super (); this.name = name; this.age = Alter; this.grade = grade; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public int getage () {return ay; } public void setage (int age) {this.age = älter; } public String getgrade () {return grade; } public void setgrade (String -Note) {this.grade = grade; } @Override public String toString () {return "student [name =" + name + ", ay" + alter + ", grade =" + grade + "]"; }} Testergebnisse
Exportierte Excel -Tische
Studenten
Drucken Sie die Read Excel -Daten aus
[Student [name = xiao ming, Alter = 8, Klasse = zweite Klasse], Student [Name = Xiao Guang, Alter = 9, Klasse = 3], Student [Name = Xiao Hua, Alter = 10, Klasse = 4]]
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, der Inhalt dieses Artikels wird Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen.