Vorwort
Ich glaube, dass viele Freunde Daten in die tatsächlichen Arbeit von Excel exportieren werden. Normalerweise gibt es zwei Möglichkeiten, dies zu tun.
Verwenden Sie zuerst JXL, um Excel zu generieren, dann auf dem Server zu speichern und dann die Datei nach der Erstellung der Seite herunter.
Die zweite besteht darin, POI zu verwenden, um Excel zu generieren und dann Stream an die Rezeption auszugeben, um es direkt herunterzuladen (PS: Natürlich kann es auch auf den Server generiert und dann heruntergeladen werden). Hier diskutieren wir den zweiten Typ.
Struts2s Weg
Normalerweise habe ich das bereits generierte HSSFWorkbook in einen InputStream gesteckt und dann zur XML -Konfigurationsdatei gegangen, um das Rückgabeergebnis in Stream zu ändern. wie folgt:
private void antwortedata (HSSFWorkbook WB) löst IOException {bytearrayoutputStream baos = new bytearrayoutputStream () aus; WB.Write (Baos); baos.flush (); byte [] aa = baos.tobytearray (); excelstream = new bytearrayInputStream (aa, 0, aa.length); baos.close ();}Konfigurationsdatei:
<action name = "exportxxx" methode = "exportxxx"> <result name = "exporteccess" type = "stream"> <param name = "inputName"> excelstream </param> <param name = "contentType"> application/vnd.ms-excel </param> <param> <param> </param> contentDisposition; </result> </action>
Dadurch wird der Zweck des Klickens auf den Link erreicht, um die Datei direkt herunterzuladen.
Springmvc Weg
Veröffentlichen Sie zuerst den Code:
@RequestMapping ("/exportxxx.Action") public void exportxxx (httpServletRequest -Anforderung, httpServletResponse -Antwort, @RequestParam (value = "planid", defaultValue = "0") Int planid) {hssfworkbook b = createexcel (planid); try {response.setheader ("Inhaltsdisposition", "Attachment; Dateiname = Terminuser.xls"); response.setContentType ("application/vnd.ms-excel; charSet = utf-8"); OutputStream out = response.getOutputStream (); wb.write (out); out.flush (); out.close (); } catch (ioException e) {e.printstacktrace (); }} Tatsächlich sind SpringMVC und Struts2 grundsätzlich gleich, aber Struts2 ist der Weg, um die Datei zu konfigurieren. Verwenden Sie zunächst die Methode createExcel() um Excel zu generieren und zurückzugeben. Verwenden Sie schließlich response , um Excel in den Vordergrund auszugeben. Diese Methode ist allgemein, und Sie können sie auch mit Servlet、Struts2 usw. versuchen. Wir müssen die entsprechenden Ausgabeinformationen nur in response festlegen.
Zusammenfassen
Unabhängig davon, ob Struts2 oder SpringMVC verwendet wird, wird im Grunde genommen die Antwort verwendet. Solange wir die Antwort gründlich verstehen, ist dieselbe.
Github -Adresse: https://github.com/crossoverjie
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.