いくつかの単語の男は、コード、非常に明確に書かれたコメントに言いました:
@RequestMapping(値= "/ exportExcel" ) 公共 ボイドexporExcel(HttpServletRequestのリクエスト、HttpServletResponseの応答){ ストリングユーザーID = request.getParameter(「ユーザID」)。 してみてください{ 一覧 <Cllog> cllogList = cllogService.getCusTNListBySchWorkId(ユーザーID); // エクセル作成 HSSFWorkbook週= 新しい新)HSSFWorkbookを(; // ワークシート作成 HSSFSheetシート= wk.createSheetを(); // 幅セルに設定 sheet.setColumnWidth(0、2000 ); sheet.setColumnWidth( 1、6000。); //は、最初の行の作成 HSSFRow sheet.createRow行の=(0 ); // 書き込む値からセルの最初の行と列を作成し (0 = HSSFCellセルrow.createCell )。 cell.setCellValue(「シリアル番号」)。 セル = row.createCell(1 )。 cell.setCellValue(「電話機のモデル」)。 // 書き込みデータ 用(ショート = 0 I; I <cllogList.size(); I ++ ) { 行 = sheet.createRow(I + 1 )。 row.createCell( 0).setCellValue(String.valueOf(I + 1 ))。 row.createCell( 1 ).setCellValue(cllogList.get(I).getClCustn())。 } // ファイル名の 文字列fileNameに= "電話モデル" +ユーザーID + "の.xlsx" ; // 文字化けファイルを解決する 最終的な文字列= userAgentにrequest.getHeader( "ユーザーエージェント" ); IF!(ユーザーエージェント= ヌル && useragent.indexOf( "Firefoxの")> = 0 || userAgent.indexOf( "クローム")> = 0 || userAgent.indexOf( "サファリ")> = 0 ){ fileNameに = 新しい文字列(fileName.getBytes()、 "ISO8859-1" ); } 他{ fileNameに = URLEncoder.encode(ファイル名、 "UTF8" ); } // ダウンロードファイル response.setContentType(「アプリケーション/オクテットストリーム」); response.setHeader( "コンテンツ配置"、 "添付ファイル;ファイル名=" + filename)で。 response.flushBuffer(); wk.write(response.getOutputStream())。 )(wk.close。 } キャッチ(例外e){ e.printStackTrace(); } }