1. Introduction
Les rapports sont souvent impliqués dans le développement Web de Java. Dans les projets récents, nous devons afficher les données de la base de données en tant que table et l'exporter sous forme de fichier Excel.
2. Packages de pot associés
L'utilisation de POI peut résoudre les problèmes d'importation et d'exportation Excel. Adresse de téléchargement POI:
poi-3.6-20091214.jar
3. Code clé
Importez d'abord le package JAR ci-dessus.
Lors de la génération d'Excel, le formulaire de source de données générale est une liste. Ce qui suit est le code qui génère le format Excel:
/ ** * Ce qui suit est la génération d'opération Excel * / // 1. Créez un classeur, correspondant à un fichier Excel, hssfworkbook wb = new hssfworkbook (); // 2. Ajoutez une feuille dans le classeur, correspondant à une feuille dans Excel HSSFSheet Sheet = WB.CreateTheet ("Table xxx"); // 3. Ajouter la 0e rangée de l'en-tête de la table dans la feuille. L'ancienne version POI a une limite sur le nombre de lignes Excel Short HssFrow Row = Sheet.Creater ((int) 0); // 4. Créez une cellule, définissez l'en-tête de table de valeur et définissez l'en-tête de la table sur HSSFCellStyle Style = WB.CreateCellStyle (); // Centering Format Style.SetAlignment (hssfCellStyle.align_center); // Définissez l'en-tête de table HSSFCELL CELL = ROW.CREATECELL (0); Cell.SetCellValue ("Table Header1"); Cell.SetCellStyle (style); Cell = row.CreateCell (1); Cell.SetCellValue ("Table Header2"); Cell.SetCellStyle (style); Cell = row.CreateCell (2); Cell.SetCellValue ("Table Header3"); Cell.SetCellStyle (style); Cell = row.CreateCell (3); Cell.SetCellValue ("En-tête de table 4"); Cell.SetCellStyle (style); Cell = row.CreateCell (4); Cell.SetCellValue ("En-tête de table 5"); Cell.SetCellStyle (style);Après avoir généré le format Excel, vous devez écrire les données sur Excel:
// boucle pour écrire des données pour exceller pour (int i = 0; i <lists.size (); i ++) {row = sheet.createrow ((int) i + 1); List list = listS.get (i); // Créez une cellule et définissez la valeur 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 ()); } L'excel résultant sera ensuite sorti sous forme de flux.
* Aucune boîte de téléchargement n'apparaît
FileoutputStream out = new FileOutputStream ("e: /xxx.xls"); wb.write (out); out.close ();* Popt dans la boîte de téléchargement
String filename = "xxx table"; ByteArrayOutputStream os = new bytearrayoutputStream (); WB.Write (OS); Byte [] contenu = os.toByTearray (); InputStream est = new bytearrayInputStream (contenu); // Définissez le paramètre de réponse pour ouvrir la page de téléchargement res.reset (); res.setContentType ("application / vnd.ms-excel; charset = utf-8"); res.sethEader ("Content-Disposition", "attachement; filename =" + new String ((filename + ".xls"). getBytes (), "iso-8859-1")); ServletOutputStream out = res.getOutputStream (); BufferedInputStream bis = null; BuffredOutputStream bos = null; essayez {bis = new BufferedInputStream (IS); BOS = nouveau tampondoutputStream (out); octet [] buff = nouveau octet [2048]; int bytesread; // boucle de lecture / écriture simple. while (-1! = (bytesRead = bis.read (buff, 0, buff.length))) {bos.write (buff, 0, bytesRead); }} catch (exception e) {// todo: gère l'exception e.printStackTrace (); } enfin {if (bis! = null) bis.close (); if (bos! = null) bos.close (); } Après avoir terminé les opérations ci-dessus, vous pouvez passer à d'autres pages.
Dans le même temps, POI peut également afficher le téléchargement et l'analyse d'Excel sur la page Web. Veuillez rester à l'écoute pour cet autre résumé d'article!
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.