我看过了关于jxl的相关教程,懂了一些,但是时间太紧,来不及自己编了
我从数据库查询返回的数据,用Jtable的格式显示,希望能直接把看到的Jtable存为Excel输出
希望做过相关东西的兄弟帮助以下
今天晚上等到11点,明天白天接着等
兄弟们帮帮忙吧。
解决问题马上结贴

解决方案 »

  1.   

    1.http://cache.baidu.com/c?word=java%2Cjtable%2Cexcel&url=http%3A//www%2Ecodechina%2Enet/resource/gotores%2Ephp%3Farticleid%3D17042&b=6&a=0&user=baidu
    2.http://blog.csdn.net/wxyxl/archive/2001/05/19/2654.aspx
      

  2.   

    jxl操作起来并不难的
    只要弄明白了,上手很快的楼主再好好看看,用不料多少时间的
      

  3.   

    我就用过jxl,不难,楼主想复杂了
      

  4.   

    我大概看了,只是对把Jtable整体转化为Excel感觉不是很有把握。
    既然很简单,兄弟们就帮帮忙吧
      

  5.   

    to laughsmile(海边的星空) 
    虽然你给我的文章不是很对题,但是对我还是很有帮助,谢谢你了
      

  6.   

    我获取数据库中的结果集,直接传入方法,转为excel 
    方法如下
    import org.apache.poi.hssf.usermodel.*;
    要去载poi这个包
     public void toSellExcel(ResultSet rs, String filepath){
             try {             // 创建新的Excel 工作簿
                 HSSFWorkbook workbook = new HSSFWorkbook();
                 // 在Excel工作簿中建一工作表,其名为缺省值
                 HSSFSheet sheet = workbook.createSheet();
                 //设置Excel的显示格式             //设置行头
                 String[] str = new String[10];
                 str[0] = "帐号";
                 str[1] = "帐号名称";
                 str[2] = "产品编号";
                 str[3] = "产品名称";
                 str[4] = "单价";
                 str[5] = "正常数量";
                 str[6] = "合计金额";
                 str[7] = "退保数量";
                 str[8] = "合计金额";
                 str[9] = "实收金额";
                 
                 HSSFRow row;
                 HSSFCell cell;
                 HSSFCellStyle style;
                 HSSFFont hf;
                 
                 for (int i = 0; i < 1; i++) {
                     //在索引0的位置创建行(最顶端的行)
                     row = sheet.createRow((short) i);
                     for (int j = 0, a = 0; j < 10; a++, j++) {
                         //在索引0的位置创建单元格(左上端)(相当于列数)
                         cell = row.createCell((short) j);
                         //定义单元格为字符串类型
                         cell.setCellType(HSSFCell.CELL_TYPE_STRING);                     //定义样式
                         style = workbook.createCellStyle();
                         //创建工作本的字体
                         hf = workbook.createFont();
                         hf.setFontName("楷体_GB2312");
                         style.setFont(hf);
                         //设置列的属性
                         cell.setEncoding(HSSFCell.ENCODING_UTF_16);
                         cell.setCellStyle(style);
                         //在所创建的单元格填入值
                         if (i == 0) {
                             cell.setCellValue(str[a]);
                         }
                     }
                 }             int n = 1, m = 0, s = 0;
                 // 获取结果集的行数
                 while (rs.next()) {
                     row = sheet.createRow((short) n++); //从第1行开始
                     cell = row.createCell((short) m++); //从第0列开始
                     //定义单元格为字符串类型
                     cell.setCellType(HSSFCell.CELL_TYPE_STRING);
                     //填加帐号
                     String user =rs.getString("Company_user");
                     cell.setCellValue(user== null?"-----":user);
                     //填加帐号名称
                     cell = row.createCell((short) m++); //从第5列开始
                     
                     //定义样式
                     style = workbook.createCellStyle();
                     //创建工作本的字体
                     hf = workbook.createFont();
                     hf.setFontName("楷体_GB2312");
                     style.setFont(hf);
                     //设置列的属性
                     cell.setEncoding(HSSFCell.ENCODING_UTF_16);
                     cell.setCellStyle(style);
                     String name = rs.getString("InsurCompanyName");
                     cell.setCellValue(name ==null?"-----":name);
                     
                     //填加产品编号
                     String dpsum =rs.getString("InsurProductNo");
                     cell = row.createCell((short) m++); //从第6列开始
                     cell.setCellValue(dpsum==null?"0":dpsum);
                     //填加产品名称
                     cell = row.createCell((short) m++); //从第7列开始
                     //定义样式
                     style = workbook.createCellStyle();
                     //创建工作本的字体
                     hf = workbook.createFont();
                     hf.setFontName("楷体_GB2312");
                     style.setFont(hf);
                     //设置列的属性
                     cell.setEncoding(HSSFCell.ENCODING_UTF_16);
                     cell.setCellStyle(style);
                     String StrTemp = rs.getString("InsurProductName");
                     cell.setCellValue(StrTemp==null?"-----":StrTemp);
                     //填加单价
                     cell = row.createCell((short) m++); //从第8列开始  Tel
                     String blank = rs.getString("InsurFare");
                     cell.setCellValue(blank==null?"0":blank);
                     //填加正常数量
                     cell = row.createCell((short) m++); //从第9列开始
                     String retu = rs.getString("etk0");
                     cell.setCellValue(retu==null?"0":retu);
                     //使用合计金额
                     cell = row.createCell((short) m++); //从第9列开始
                     String orders = rs.getString("count0");
                     cell.setCellValue(orders==null?"0":orders);
                     //剩余退保数量
                     cell = row.createCell((short) m++); //从第9列开始
                     String usum =rs.getString("etk1");
                     cell.setCellValue(usum==null?"0":usum);
                     //退保合计金额
                     cell = row.createCell((short) m++); //从第9列开始
                     String qiepiao = rs.getString("count1");
                     cell.setCellValue(qiepiao==null?"0":qiepiao);
                     //实收金额
                     cell = row.createCell((short) m++); //从第9列开始
                     cell.setCellValue(orders==null?"0":orders);
                     
                     if (m >=9) {
                         m = 0;
                     }             }
               
                 // 新建一输出文件流
                 FileOutputStream fOut = new FileOutputStream(filepath);
                 // 把相应的Excel 工作簿存盘
                 workbook.write(fOut);             fOut.flush();
                 // 操作结束,关闭文件
                 fOut.close();         } catch (Exception e) {
                 System.out.println("已运行 xlCreate() :错误信息 " + e);
                 throw new RuntimeException(e.getMessage());
             }
         }
      

  7.   

    to libin53(红尘摆渡)
    真的太感谢你了,很有用
    可是还有几个细节问题不太清楚,你能加我的QQ吗?
    10292329
    太感谢了