公共 ボイドto_exportAllAssess(){
ArrayListのエクセル充填する<AssessResultDetail> = assessResultDetailListクエリデータの準備ができて HSSFWorkbookワークブック = AssessExportUtil.exportAllAssess(assessResultDetailList); 試み{ // クライアントへの応答 この .setResponseHeader(レスポンス、assessTime.getName()+「統計表* .XLS " ); のOutputStream OS = response.getOutputStream(); workbook.write(OS); os.flush(); にos.close(); } キャッチ(例外E){ e.printStackTrace(); } } // 发送响应流方法 公共 ボイドsetResponseHeader(HttpServletResponseの応答、文字列filename){ しようと{ しようと{ ファイル名は = 新しい文字列(fileName.getBytes()、 "ISO8859-1" ); } キャッチ(にUnsupportedEncodingException電子){ e.printStackTrace(); } response.setContentType(「アプリケーション/オクテットストリーム、文字セット= ISO8859-1」)。 response.setHeader( "コンテンツの廃棄"、 "添付ファイル;ファイル名=" + filename)で。 response.addHeader(「Pargam」、「キャッシュなし」)。 response.addHeader( "のCache-Control"、 "キャッシュなし" )。 } キャッチ(例外例){ ex.printStackTrace(); } }
パッケージ.. COMの*のutilに、 インポートのjava.io.File; インポートjava.io.FileInputStream; インポートjava.util.ArrayListのの、 インポートorg.apache.poi.hssf.usermodel.HSSFWorkbook; インポートorg.apache.struts2.ServletActionContext。 インポート.. COM AssessResultDetail *; パブリック クラスAssessExportUtil { / * HSSFWorkbook:動作Excel2003過去(2003)拡張のバージョンがある* .XLS XSSFWorkbook:拡張のExcel2007動作バージョンであるの.xlsx * / パブリック 静的 HSSFWorkbook exportAllAssess (のArrayList <AssessResultDetail> assessResultDetailList){ // Excelテンプレートパス ファイルファイル= 新しいファイル(ServletActionContext.getServletContext()getRealPath( " / WEB-INF /テンプレット/ ")、 "assessValue.xls" ); HSSFWorkbookワークブック = nullを。 もし(file.exists()){ // 文件存在 してみてください { // 创建ワークブックの ワークブック= 新しい HSSFWorkbook(新しいFileInputStreamを(ファイル));
// TODO数据填充エクセル } キャッチ(例外e){ e.printStackTrace(); } } 戻りワークブック。 } }