Java Poi는 Excel을 수출하여 클라이언트에게 다운로드합니다. 특정 내용은 다음과 같습니다
다른 파일 형식에 대한 종속성을 포함한 Maven 구성이 게시됩니다.
<pectionency> <groupid> org.apache.poi </groupid> <artifactid> poi-excelant </artifactid> <bersion> 3.12 </version> </dependency> <grouplency> <groupid> org.apache.poi </groupid> <artifactid> poi-scratchpad </artifactid> 3.12 </version> 3.12 <groupid> org.apache.poi </groupid> <artifactid> poi-ooxml </artifactid> <bersion> 3.8 </version> </fectionency> <prection> <groupid> org.apache.poi </groupid> <artifactid> poi-ooxml-schemas </arefifactid> 3.8 </version> 3.8 </version> </version> 3.
서비스 계층
@override public void export (long sblsh, string excelname, outputstream out) {try {// 첫 번째 단계는 엑셀 파일 hssfworkbook wb = new hssfworkbook ()에 해당하는 웹 북을 만드는 것입니다. // 테이블 생성 hssfsheet sheet = wb.createSheet (ExcelName); // 세 번째 단계는 시트 hssfrow row = sheet.createrow (0)에 테이블 헤더의 0 번째 행을 추가하는 것입니다. // 네 번째 단계는 셀을 만들고 값 테이블 헤더를 설정하여 테이블 헤더를 중앙으로 설정하여 hssfcellstyle style = wb.createCellstyle (); style.setalignment (hssfcellstyle.align_center); // 중앙 형식 생성 hssfcell cell = row.createcell (0); Cell.setCellStyle (스타일); 바이트 kjzz = qyjbxxmapper.getKjzz (sblsh); 목록 <a> record = this.selectbysblsh (sblsh); this.insertdata (WB, 시트, 행, 레코드, 아웃); }} catch (예외 e) {logger.info (e.getMessage ()); }} / *** 테이블에 데이터 가져 오기* @param wb execl 파일* @param 시트 테이블* @param 행 테이블 행* @param 레코드 데이터* @param out 출력 스트림* / private void insertData (hssfworkbook wb, hssfsheet 시트, hssfrow 행, 목록, 출력) for (int i = 0; i <title.length; i ++) {row.createcell (i) .setCellValue (title [i]); } for (int i = 0; i <record.size (); i ++) {row = sheet.createrow (i+2); 데이터 = record.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 ()); }} // 셀 병합 셀, 처음 2 자리 숫자는 시작 및 끝 행을 나타내고 마지막 2 자리는 시작 및 끝 열 CellRangeadDress 영역을 나타냅니다. 시트. wb.write (out); out.flush (); out.close (); wb.close (); } catch (예외 e) {logger.info (e.getMessage ()); }} 제어 장치
@requestmapping ( "/Export") 공개 void 내보내기 (Long SBLSH, httpservletRequest 요청, httpservletResponse 응답) {response.setContentType ( "Octets/Stream"); String ExcelName = "filename"; try {response.addheader ( "content-disposition", "attachment; filename ="+new String (ExcelName.getBytes ( "gb2312"), "iso8859-1")+". xls"); outputStream out = response.getOutputStream (); aservice.export (sblsh, ExcelName, Out); } catch (예외 e) {e.printstacktrace (); }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.