Java POI exporte Excel et le télécharge sur le client. Le contenu spécifique est le suivant
La configuration de Maven, y compris les dépendances pour d'autres formats de fichiers, est publiée
<dependency> <proupId> org.apache.poi </rompuprid> <letifactive> poi-excelant </ artifactid> <version> 3.12 </ version> </dependency> <dependency> <proupId> org.apache.poi </proupId> <Artifactid> Poi-ScratchPad </RetifActid> <version> 3.12 <version version> </pteridency> <version> 3.12 <version> </préquence> </ptetifactid> <version> 3.12 <version version> </pterence>> <version> 3.12 <version version> </pteridency> <version> 3.12 <version> </préquence> <ProupId> org.apache.poi </prôdId> <Artifactid> poi-oooxml </ artifactId> <version> 3.8 </ version> </ Dependency> <Dendency> <ProupId> org.apache.poi </prouprid> <Artifactid> poi-oooxml-schemas </tatifactid> <version> 3.8 </ version>
Couche de service
@Override public void Export (long sbSh, String ExcelName, OutputStream out) {try {// La première étape consiste à créer un webbook, correspondant à un fichier Excel hssfworkbook wb = new hssfworkbook (); // Générez une table HSSFSheet Sheet = WB.CreateTheet (ExcelName); // La troisième étape consiste à ajouter la 0ème rangée de l'en-tête de table dans la feuille hssfrow row = sheet.createrow (0); // La quatrième étape consiste à créer une cellule et à définir l'en-tête de la table de valeur pour définir l'en-tête de la table sur HSSFCellStyle Style = WB.CreateCellStyle (); style.setAlignment (hssfCellStyle.align_center); // Créez un format centré HSSFCELL CELLE = ROW.CREATECELL (0); Cell.SetCellStyle (style); Octet kjzz = qyjbxxmapper.getkjzz (sbsh); Liste <a> enregistrement = this.selectBysBLSH (SBLSH); this.insertData (WB, feuille, ligne, enregistrement, out); }} catch (exception e) {logger.info (e.getMessage ()); }} / ** * Importez des données dans une table * @param wb EXECL Fichier * @param table table * @param row Table Row * @param Données d'enregistrement à exporter * @param output stream * / private void insertData (hssfworkbook wb, hssfsheetheet sheet, hssfrow row, list <a> record, outputtream out) {Try {row = fiche (1); for (int i = 0; i <title.length; i ++) {row.createCell (i) .setCellValue (title [i]); } pour (int i = 0; i <enregistre.size (); i ++) {row = sheet.createrow (i + 2); A data = disques.get (i); row.CreateCell (0) .SetCellValue (data.Gethc ()); row.CreateCell (1) .SetCellValue (data.getXm ()); Bigdecimal je = data.getje (); if (je! = null) {row.createCell (2) .setCellValue (je.doubleValue ()); }} // Merger les cellules, les 2 premiers chiffres représentent la ligne de début et d'extrémité, et les 2 derniers chiffres représentent la colonne de début et de fin CellRangeAddress Region = new CellRangeAddress (0,0,0, title.length-1); sheet.addmergedRegion (région); WB.Write (Out); out.flush (); out.close (); wb.close (); } catch (exception e) {logger.info (e.getMessage ()); }} Contrôleur
@RequestMapping ("/ Export") public void Export (Long SBLSH, HttpServLetRequest Request, HttpServletResponse Response) {Response.SetContentType ("Octets / Stream"); String ExcelName = "FileName"; try {réponse.addheader ("contenu-disposition", "attachement; filename =" + new String (excelName.getBytes ("gb2312"), "iso8859-1") + ". xls"); OutputStream out = réponse.getOutputStream (); ASERVICE.EXPORT (SBLSH, ExcelName, Out); } catch (exception e) {e.printStackTrace (); }}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.