国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java—將某個數據庫的表全部導出到excel中(43)

2019-11-14 23:53:55
字體:
來源:轉載
供稿:網友
java—將某個數據庫的表全部導出到Excel中(43)

如何操作excel。――POI-apache。JXL-。

第一步:如何用POI操作Excel
@Test    public void createXls() throws Exception{        //聲明一個工作薄        HSSFWorkbook wb = new HSSFWorkbook();       //聲明表        HSSFSheet sheet = wb.createSheet("第一個表");        //聲明行        HSSFRow row = sheet.createRow(7);        //聲明列        HSSFCell cel = row.createCell(3);        //寫入數據        cel.setCellValue("你也好");                FileOutputStream fileOut = new FileOutputStream("d:/a/b.xls");        wb.write(fileOut);        fileOut.close();    }
第二步:導出指定數據庫的所有表

分析:

1:某個數數據庫有多少表,表名是什么?―――DataBaseMetadate.getMetadate().getTables(null,null,null,new String[]{Table}); - excel的文件名稱。

  2:對每一個表進行select * 操作。 - 每一個sheet的名稱。

  3:分析表結構,rs.getMetadate(); ResultSetMedated

  4:多個列,列名是什么.  - 字段名就是sheet的第一行信息。

  5:獲取每一行的數據 – 放到sheet第一行以后。

@Test    public void export() throws Exception{        //聲明需要導出的數據庫        String dbName = "focus";        //聲明book        HSSFWorkbook book = new HSSFWorkbook();        //獲取Connection,獲取db的元數據        Connection con = DataSourceUtils.getConn();        //聲明statemen        Statement st = con.createStatement();        //st.execute("use "+dbName);        DatabaseMetaData dmd = con.getMetaData();        //獲取數據庫有多少表        ResultSet rs = dmd.getTables(dbName,dbName,null,new String[]{"TABLE"});        //獲取所有表名 - 就是一個sheet        List<String> tables = new ArrayList<String>();        while(rs.next()){            String tableName = rs.getString("TABLE_NAME");            tables.add(tableName);        }        for(String tableName:tables){            HSSFSheet sheet = book.createSheet(tableName);            //聲明sql            String sql = "select * from "+dbName+"."+tableName;            //查詢數據            rs = st.executeQuery(sql);            //根據查詢的結果,分析結果集的元數據            ResultSetMetaData rsmd = rs.getMetaData();            //獲取這個查詢有多少行            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++);                //聲明列                for(int i=0;i<cols;i++){                    String val = rs.getString(i+1);                    //聲明列                    HSSFCell cel = row.createCell(i);                    //放數據                    cel.setCellValue(val);                }            }        }        con.close();        book.write(new FileOutputStream("d:/a/"+dbName+".xls"));    }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥棱县| 行唐县| 南阳市| 新泰市| 汶川县| 隆化县| 潮安县| 漳浦县| 张家港市| 离岛区| 淳安县| 龙里县| 醴陵市| 陕西省| 廊坊市| 清水县| 怀柔区| 毕节市| 清水县| 棋牌| 新郑市| 临夏市| 勃利县| 利津县| 巩留县| 巧家县| 阳城县| 建水县| 新龙县| 五家渠市| 息烽县| 仁化县| 轮台县| 鄂托克前旗| 杂多县| 河间市| 措勤县| 卢龙县| 张北县| 平凉市| 永平县|