이 예는 참조를 위해 데이터베이스의 모든 테이블을 Excel로 내보내는 방법과 공유합니다. 특정 내용은 다음과 같습니다
1 단계 : POI로 Excel을 작동하는 방법
@test public void createxls () 던지기 예외 {// 통합 문서 선언 hssfworkbook wb = new hssfworkbook (); // 선언 테이블 hssfsheet sheet = wb.createsheet ( "첫 번째 테이블"); // 행 선언 hssfrow row = sheet.createrow (7); // 칼럼 선언 hssfcell cel = row.createcell (3); // 데이터 쓰기 cel.setCellValue ( "당신도 좋다"); fileoutputStream fileout = 새 FileOutputStream ( "d : /a/b.xls"); wb.write (파일 아웃); fileout.close (); }2 단계 : 지정된 데이터베이스의 모든 테이블을 내 보냅니다
분석 :
1 : 특정 번호 데이터베이스에는 몇 개의 테이블이 있으며 테이블 이름은 얼마입니까? databasemetadate.getmetadate (). getTables (null, null, null, new String [] {table}); - Excel의 파일 이름입니다.
2 : 각 테이블에서 선택 * 작업을 수행하십시오. - 각 시트의 이름.
3 : 테이블 구조 분석, rs.getmetadate (); resultsetmeded
4 : 다중 열, 열 이름은 무엇입니까? - 필드 이름은 시트의 첫 번째 행 정보입니다.
5 : 각 행의 데이터를 가져 와서 시트의 첫 번째 행에 넣습니다.
@test public void export ()는 예외를 던지려고 {// 내보내기 해야하는 데이터베이스를 선언합니다 dbname = "Focus"; // 책 선언 hssfworkbook book = new hssfworkbook (); // 연결을 얻고, db 메타 데이터 연결을 얻습니다. con = dataSourceutils.getConn (); // 선언문 명령문 st = con.createstatement (); //st.execute(" 여신 "+dbname); DatabasemetAdata dmd = con.getmetadata (); // 데이터베이스에 resultet rs = dmd.getTables가있는 테이블 수를 얻습니다 (dbname, dbname, null, new String [] { "table"}); // 모든 테이블 이름 가져 오기 - 시트 목록 <string> tables = new ArrayList <string> (); while (rs.next ()) {String tableName = rs.getString ( "table_name"); Tables.add (tablename); } for (문자열 tableName : tables) {hssfsheet sheet = book.createsheet (tableName); // sql string sql = "select * from"+dbname+"."+tableName; // 쿼리 데이터 rs = st.ExecuteQuery (SQL); // Query resultsetmetadata rsmd = rs.getmetadata ()를 기반으로 결과 세트의 메타 데이터 분석을 분석합니다. //이 query int cols = rsmd.getColumnCount ()에 얼마나 많은 행이 있는지 얻습니다. // 모든 열 이름 가져 오기 // 첫 번째 행 생성 hssfrow row = sheet.createrow (0); for (int i = 0; i <cols; i ++) {string colname = rsmd.getColumnName (i+1); // 새 열 만들기 hssfcell cell = row.createcell (i); // 열 이름 cell.setCellValue (colname) 쓰기; } // 데이터 전송 int index = 1; while (rs.next ()) {row = sheet.createrow (index ++); // (int i = 0; i <cols; i ++) {String val = rs.getString (i+1); // 열 선언 열 hssfcell cel = row.createcell (i); // 데이터 게시 cel.setCellValue (val); }}} con.close (); BOOK.WRITE (새 파일 OutputStream ( "d :/a/"+dbname+". xls")); }위의 내용은이 기사에 관한 모든 것입니다. 모든 사람의 학습에 도움이되기를 바랍니다.