1. Einführung
Berichte sind häufig an der Java -Webentwicklung beteiligt. In jüngsten Projekten müssen wir die Daten in der Datenbank als Tabelle anzeigen und als Excel -Datei exportieren.
2. Verwandte Glaspakete
Die Verwendung von POI kann die Probleme des Excel -Imports und des guten Exportierens lösen. POI -Download -Adresse:
poi-3.6-20091214.jar
3. Schlüsselcode
Importieren Sie zuerst das obige JAR -Paket.
Bei der Generierung von Excel ist das allgemeine Datenquellenformular eine Liste. Das Folgende ist der Code, der Excel -Format generiert:
/ *** Folgendes ist die Erzeugung des Excel -Betriebs*/ // 1. Erstellen Sie ein Arbeitsbuch, das einer Excel -Datei entspricht, HSSFWorkbook wb = new HSSFWorkbook (); // 2. Fügen Sie ein Blatt in die Arbeitsmappe hinzu, die einem Blatt in Excel Hssfsheet Sheet = WB.CreateSheet ("XXX -Tabelle") entspricht; // 3. Fügen Sie die 0. Zeile des Tischkopfs im Blatt hinzu. Die alte Version POI hat eine Grenze für die Anzahl der Excel -Zeilen kurz Hssfrow Row = Sheet.CreateRow ((int) 0); // 4. Erstellen Sie eine Zelle, stellen Sie den Wert für die Werttabelle ein und setzen Sie den Tabellenheader auf zentrale HSSFCellStyle style = wb.createcellstyle (); // zentrierende Formatstil. // Setzen Sie die Tabellenheader HSSFCell Cell = row.createCell (0); cell.setCellValue ("Table Header1"); cell.setCellStyle (Stil); cell = row.createcell (1); cell.setCellValue ("Table Header2"); cell.setCellStyle (Stil); cell = row.createcell (2); cell.setCellValue ("Table Header3"); cell.setCellStyle (Stil); cell = row.createcell (3); cell.setCellValue ("Tabellenheader 4"); cell.setCellStyle (Stil); cell = row.createcell (4); cell.setCellValue ("Tabellenheader 5"); cell.setCellStyle (Stil);Nachdem Sie das Excel -Format generiert haben, müssen Sie die Daten an Excel schreiben:
// Schleife zum Schreiben von Daten zu Excel für (int i = 0; i <lists.size (); i ++) {row = sheet.createrow ((int) i+1); List list = lists.get (i); // Erstellen Sie eine Zelle und setzen Sie die Value row.createCell (0) .setCellValue (list.getXXX ()); Row.CreateCell (1) .SetCellValue (list.getXXX ()); Row.CreateCell (2) .SetCellValue (list.getXXX ()); Row.CreateCell (3) .SetCellValue (list.getXXX ()); Row.CreateCell (3) .SetCellValue (list.getXXX ()); Row.CreateCell (4) .SetCellValue (list.getXXX ()); } Der resultierende Excel wird dann als Stream ausgegeben.
*Keine Download -Box taucht auf
FileOutputStream out = new FileOutputStream ("e: /xxx.xls"); wb.write (out); out.close ();*Popt up Die Download -Box
String Dateiname = "xxx Tabelle"; BytearrayoutputStream os = new bytearrayoutputStream (); WB.Write (OS); byte [] content = os.tobytearray (); InputStream ist = neuer BytearrayInputStream (Inhalt); // den Antwortparameter festlegen, um die Download -Seite res.reset () zu öffnen; res.setContentType ("application/vnd.ms-excel; charSet = utf-8"); res.setheader ("Inhaltsdisposition", "Anhang; Dateiname =" + neue String ((Dateiname + ".xls"). getBytes (), "ISO-8859-1"); ServLetOutputStream out = res.getOutputStream (); BufferedInputStream Bis = null; BufferedOutputStream bos = null; Versuchen Sie {Bis = new buferedInputStream (IS); BOS = neuer BufferedOutputStream (out); Byte [] Buff = New Byte [2048]; int bytesread; // Einfache Lesen/Schreibschleife. while (-1! }} catch (Ausnahme e) {// toDo: Behandeln Sie die Ausnahme E.PrintStackTrace (); } endlich {if (bis! = null) Bis.close (); if (bos! = null) bos.close (); } Nach Abschluss der oben genannten Vorgänge können Sie auf andere Seiten springen.
Gleichzeitig kann POI auch Excel -Upload und Parsen auf der Webseite anzeigen. Bitte bleiben Sie für diesen anderen Artikel zusammengefasst!
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.