将数据写到Excel 中

本文介绍了一种使用Java程序导出数据到Excel的方法。通过创建Excel工作簿、定义表头及内容,实现从列表数据中填充表格,并计算总计。此过程涉及jxl库的使用,包括Label和Number对象来设置单元格内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/******导出数据****************************************************/
   String[] title = { "用户名", "信息费", "充值费", "升级费用 ", "广告招商费 ", "合计 " };
   try {  
        // 获得开始时间  
        long start = System.currentTimeMillis();  
        // 输出的excel的路径  
        String filePath = "/c:/1.xls";  
        // 创建Excel工作薄  
        WritableWorkbook wwb;  
        // 新建立一个jxl文件,即在C盘下生成test.xls  
        OutputStream os = new FileOutputStream(filePath);  
        wwb = Workbook.createWorkbook(os);  
        // 添加第一个工作表并设置第一个Sheet的名字  
        WritableSheet sheet = wwb.createSheet("费用统计", 0);  
        Label label;  
        for (int i = 0; i < title.length; i++) {  
          // Label(x,y,z)其中x代表单元格的第x+1列,第y+1行, 单元格的内容是y  
          // 在Label对象的子对象中指明单元格的位置和内容  
          label = new Label(i, 0, title[i]);  
          // 将定义好的单元格添加到工作表中  
          sheet.addCell(label);  
        }  
        Double imesSum=0.0;
        Double iabSum=0.0;
        Double iupSum=0.0;
        Double iadSum=0.0;
        Double itotSum=0.0;
        Double tSum=0.0;
       
        for (int i = 1; i <= list.size(); i++) {
         int j=0;
         Expensestat e=(Expensestat)list.get(i-1);
         label = new Label(j++, i, e.getUserName());//(x+1列,y+1行,值)
         sheet.addCell(label);
         if(e.getMsgPredMoneyOfSum()!=null){
          imesSum=e.getMsgPredMoneyOfSum();
         }
         jxl.write.Number mesSum = new jxl.write.Number(j++, i, imesSum);  
         sheet.addCell(mesSum);
         if(e.getAbredMoneyOfSum()!=null){
          iabSum=e.getAbredMoneyOfSum();
         }
         jxl.write.Number abSum = new jxl.write.Number(j++, i, iabSum);  
         sheet.addCell(abSum);
         if(e.getUpredMoneyOfSum()!=null){
          iupSum=e.getUpredMoneyOfSum();
         }
         jxl.write.Number upSum = new jxl.write.Number(j++, i, iupSum);  
         sheet.addCell(upSum);
         if(e.getAdredMoneyOfSum()!=null){
          iadSum=e.getAdredMoneyOfSum();
         }
         jxl.write.Number adSum = new jxl.write.Number(j++, i,iadSum);  
         sheet.addCell(adSum); 
         itotSum=imesSum+iabSum+iupSum+iadSum;
         tSum=tSum+itotSum;
         jxl.write.Number totSum = new jxl.write.Number(j++, i, itotSum);  
         sheet.addCell(totSum);
         if (i==list.size()) {
          label = new Label(j-1, i+1, "总计:"+tSum);//(x+1列,y+1行,值)
          sheet.addCell(label);
    }
        }
        // 写入数据  
        wwb.write();  
        // 关闭文件  
        wwb.close();  
        long end = System.currentTimeMillis(); 
   } catch (Exception e) {  
        e.printStackTrace(); 
      }  
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值