java将数据库内容生成Excel表

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了java将数据库内容生成Excel表脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

今天做了一个关于Java生成Excel表的功能
有两种方式:1、jxl.jar 2、poi-3.7-20101029.jar
第一个不算太了解,第二个是出自apache的标准,虽然我两个都使用了,但比较偏向第二个;
就功能性而言,第一个比较灵活,但结构略简单,无法从数据库中大规模的生成(或者是我不知道);第二个比较全面,但太过庞大

第一个代码:

// 打开文件             WrITableWorkBook book = Workbook.createWorkbook(new File("test.xls"));             // 生成名为“第一页”的工作表,参数0表示这是第一页             WritableSheet sheet = book.createSheet("第一页" , 0 );             // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)             // 以及单元格内容为test             Label label = new Label( 0 , 0 , "test" );             // 将定义好的单元格添加到工作表中             sheet.addCell(label);              /**/              /*              * 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123             */             jxl.write.Number number = new jxl.write.Number( 1 , 0 , 555.12541 );             sheet.addCell(number);              // 写入数据并关闭文件             book.write();             book.close(); 

第二个代码:

Connection conn = null;     Class.forName("com.mysql.jdbc.Driver");     conn = (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","1234");      // 11:创建一个excel     HSSFWorkbook book = new HSSFWorkbook();      // 1:分析数据     java.sql.DatabaseMetaData dmd = conn.getMetaData();     // 2:获取所有表名     java.sql.ResultSet rs = dmd.getTables("", "TEST", "STUDENTS",             new String[] {"TABLE"});     List<String> tables = new ArrayList<String>();      while (rs.next()) {         String tn = rs.getString("TABLE_NAME");         tables.add(tn);     }     int table_len = tables.size();      // 3:声明st     Statement st = conn.createStatement();      int idx = 0;      for (String tn : tables) {         System.err.println("表:" + tn);          idx++;         System.err.println("-------正在导----" + idx + "/" + table_len);          // 12:创建sheet         HSSFSheet sheet = book.createSheet(tn);          String sql = "select * from " + tn;         rs = st.executeQuery(sql);         // 3:rsmd         ResultSetMetaData rsmd = (ResultSetMetaData)rs.getMetaData();         // 4:分析一共多少列         int cols = rsmd.getColumnCount();          // 13:创建表头         HSSFRow row = sheet.createRow(0);          for (int i = 0; i < cols; i++) {             String cname = rsmd.getColumnName(i + 1);              HSSFCell cell = row.createCell(i);             cell.setCellValue(cname);              // System.err.print("t"+cname);         }         // System.err.println("n");         // 显示数据         while (rs.next()) {             // 14:保存数据             row = sheet.createRow(sheet.getLastRowNum() + 1);              for (int i = 0; i < cols; i++) {                  HSSFCell cell = row.createCell(i);                 cell.setCellValue(rs.getString(i + 1));                  // System.err.print("t"+rs.getString(i+1));             }             // System.err.println("n");         }          // System.err.println("n-------------------");     }      book.write(new FileOutputStream("d:/aa.xls")); 

脚本宝典总结

以上是脚本宝典为你收集整理的java将数据库内容生成Excel表全部内容,希望文章能够帮你解决java将数据库内容生成Excel表所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。