將ResultSet結果集中的數據導入到Excel表 – JAVA編程語言程序開發技術文章

Java代碼 
public static boolean DB2Excel(ResultSet rs, String fileName) { 
            boolean flag = false; 
            WritableWorkbook workBook = null; 
            WritableSheet sheet = null; 
            Label label = null; 
 
            try { 
                // 創建Excel表 
                String path = AutoStatisticUser.class.getResource("").getPath() 
                        + fileName; 
                workBook = Workbook.createWorkbook(new File(path)); 
                // 創建Excel表中的sheet 
                sheet = workBook.createSheet("First Sheet", 0); 
                // 向Excel中添加數據 
                ResultSetMetaData rsmd = rs.getMetaData(); 
                int columnCount = rsmd.getColumnCount(); 
                String columnName = null; 
                int row = 0; 
                // 添加標題 
                for (int i = 0; i < columnCount; i++) { 
                    columnName = rsmd.getColumnName(i + 1); 
                    label = new Label(i, row, columnName); 
                    System.out.println("標題:" + i + "—" + row + "—" 
                            + columnName); 
                    sheet.addCell(label); 
                } 
                row++; 
                System.out.println("寫入標題成功"); 
                while (rs.next()) { 
                    for (int i = 0; i < columnCount; i++) { 
                        label = new Label(i, row, rs.getString(i + 1)); 
                        System.out.println("標題:" + i + "—" + row + "—" 
                                + rs.getString(i + 1)); 
                        sheet.addCell(label); 
                    } 
                    row++; 
                } 
                System.out.println("寫入內容成功"); 
                // 關閉文件 
                workBook.write(); 
                System.out.println("數據成功寫入Excel"); 
                flag = true; 
            } catch (Exception e) { 
                e.printStackTrace(); 
            } finally { 
                try { 
                    workBook.close(); 
                } catch (Exception e2) { 
                    e2.printStackTrace(); 
                } 
            } 
            return flag; 
        } 

發佈留言