加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

一些关于java操作excel问题(如jxl.write.WritableWorkbook.write()方法)

(2010-11-11 10:43:11)
标签:

杂谈

分类: jxl
private byte[] dataToExcel(ResultSet rs,String taskId,String name,DBPool db) throws Exception {

ResultSetMetaData rsmd=rs.getMetaData();

    try {
      // 创建工作薄
      ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
     
      WritableWorkbook wwb =Workbook.createWorkbook(byteOut);
     
      int row = 1;                      //记录数
      int sheetCount = 1;               //工作表数
      // 创建工作表
      while(true){
      WritableSheet ws = wwb.createSheet(name+sheetCount, sheetCount-1);

      int colCount = rsmd.getColumnCount();// 结果集中列的总数

      // 标题样式
      WritableFont font = new WritableFont(WritableFont.TAHOMA, 9, WritableFont.BOLD);// 定义字体
      font.setColour(Colour.BLACK);// 字体颜色
      WritableCellFormat wc = new WritableCellFormat(font);
      wc.setAlignment(Alignment.LEFT); // 设置左对齐
      wc.setBorder(Border.ALL, BorderLineStyle.THIN); // 设置边框线
      wc.setBackground(jxl.format.Colour.BLUE_GREY); // 设置单元格的背景颜色

      ws.setRowView(0, 250); // 设置第一行的行高
      for (int i = 1; i <= colCount; i++) {
      ws.setColumnView(i - 1, 20);// 设置列宽
      ws.addCell(new Label(i - 1, 0, rsmd.getColumnName(i), wc));
      }

      // 写入数据
      while (rs.next()) {
      for (int k = 1; k <= colCount; k++) {
      ws.setColumnView(k - 1, 20);// 设置列宽
      ws.addCell(new Label(k - 1, row, rs.getString(k)));
      }
      row++;
      if(row > 599*sheetCount ) break;
      }
     
      System.out.println("-------------sheetCount--------------->"+sheetCount);
      if(row < 599*sheetCount ) break;
      sheetCount++;
      System.out.println("-------------sheetCount--------------->"+sheetCount);
      }
      wwb.write();
      wwb.close();
      return  byteOut.toByteArray();//将输出流转换成字节数组

    } catch (Exception e) {
      e.printStackTrace();
      throw new Exception(e);
    }
  }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有