Préface
Je crois que de nombreux amis exporteront des données dans les exigences d'Excel dans le travail réel. Il y a généralement deux façons de le faire.
Tout d'abord, utilisez JXL pour générer Excel, puis enregistrez-le sur le serveur, puis téléchargez le fichier une fois la page générée.
La seconde consiste à utiliser POI pour générer Excel, puis à utiliser Stream pour le sortir à la réception pour le télécharger directement (PS: Bien sûr, il peut également être généré sur le serveur puis téléchargé.). Ici, nous discutons du deuxième type.
Struts2
Habituellement, je mettrais le HSSFWorkBook déjà généré dans un INPUTSTREAM, puis accédez au fichier de configuration XML pour modifier le résultat de retour en flux. comme suit:
private void ResponseData (hssfworkbook wb) lève ioException {byteArrayOutputStream baos = new bytearrayoutputStream (); WB.Write (Baos); baos.flush (); octet [] aa = baos.toByTearray (); ExcelStream = new ByteArrayInputStream (aa, 0, aa.length); baos.close ();}Fichier de configuration:
<action name = "exportxxx" metheth = "exportxxx"> <result name = "exportSuccess" type = "stream"> <param name = "inputName"> excelsstream </ param> <param name = "ContentType"> application / vnd.ms-excel </ param> <param name </cult> </ action>
Cela atteindra le but de cliquer sur le lien pour télécharger directement le fichier.
Springmvc Way
Publiez d'abord le code:
@RequestMapping ("/ exportxxx.action") public void exportxxx (requête httpservletRequest, réponse httpservletResponse, @RequestParam (value = "schedud", defaultValue = "0") INT SchedudId) {hssfworkbook wb = createExcel (sardanId); essayez {réponse.sethEader ("Content-Disposition", "attachement; filename = nominationUser.xls"); Response.SetContentType ("Application / Vnd.ms-EXCEL; charset = utf-8"); OutputStream out = réponse.getOutputStream (); WB.Write (Out); out.flush (); out.close (); } catch (ioException e) {e.printStackTrace (); }} En fait, SpringMVC et Struts2 sont les mêmes en principe, mais Struts2 est le moyen de configurer le fichier. Tout d'abord, utilisez la méthode createExcel() pour générer Excel et le renvoyer. Enfin, utilisez response à la sortie Excel au premier plan. Cette méthode est générale, et vous pouvez également l'essayer avec Servlet、Struts2 , etc. Nous devons seulement définir les informations de sortie correspondantes dans response .
Résumer
Que ce soit en utilisant Struts2 ou SpringMVC, il est essentiellement utilisé la réponse, donc tant que nous comprenons soigneusement la réponse, qu'il s'agisse de télécharger des images, un monde, un excel ou d'autres fichiers, c'est la même chose.
Adresse github: https://github.com/crossoverjie
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.