java list打印Excel报表

这两天学习了java实现打印Excel报表,拿出来和大家分享一下,对新手应该有很大的帮助~~

用的jxl

public class PrintElx { 
 EnvInfManagerAction ema = new EnvInfManagerAction();       //打印的list来源是此类,包含温湿度、光照等参数信息
 public void priXls(String name,String pathn){
  System.out.println("测试打印");
  List<EnvInf> listprint = new ArrayList<EnvInf>();     
  listprint.addAll(ema.getList());  
  pathn = pathn+"//aa.xls";        //这个是路径
  try {
   jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(pathn));
   jxl.write.WritableSheet ws = null;
   ws = wwb.createSheet("Test Sheet 1", 0);   
   jxl.write.Label id = new jxl.write.Label(0,0,"编号");
   jxl.write.Label time = new jxl.write.Label(1,0,"时间");
   jxl.write.Label temp = new jxl.write.Label(2,0,"温度");
   jxl.write.Label light = new jxl.write.Label(3,0,"光照");
   jxl.write.Label hum = new jxl.write.Label(4,0,"湿度");
   jxl.write.Label co2 = new jxl.write.Label(5,0,"CO2");
   jxl.write.Label grain = new jxl.write.Label(6,0,"尘埃");
   jxl.write.Label noise = new jxl.write.Label(7,0,"噪声");
   try {
    ws.addCell(id);
    ws.addCell(time);
    ws.addCell(temp);
    ws.addCell(light);
    ws.addCell(hum);
    ws.addCell(co2);
    ws.addCell(grain);
    ws.addCell(noise);    
     for(int j=0;j<listprint.size();j++){
      jxl.write.Label id2 = new jxl.write.Label(0,j+1,listprint.get(j).getId());
      ws.addCell(id2);
     }
     jxl.write.DateFormat df = new jxl.write.DateFormat("yyyy/MM/dd hh:mm:ss");
     for(int j=0;j<listprint.size();j++){      
      jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);
      jxl.write.DateTime labelDTF = new jxl.write.DateTime(1,j+1,listprint.get(j).getTime(),wcfDF);
      ws.addCell(labelDTF);
     }
     for(int i=0;i<listprint.size();i++){
      jxl.write.Number labelN = new jxl.write.Number(2,i+1,listprint.get(i).getTemp());
      ws.addCell(labelN);
     }
     for(int i=0;i<listprint.size();i++){
      jxl.write.Number labelN = new jxl.write.Number(3,i+1,listprint.get(i).getLight());
      ws.addCell(labelN);
     }
     for(int i=0;i<listprint.size();i++){
      jxl.write.Number labelN = new jxl.write.Number(4,i+1,listprint.get(i).getHum());
      ws.addCell(labelN);
     }
     for(int i=0;i<listprint.size();i++){
      jxl.write.Number labelN = new jxl.write.Number(5,i+1,listprint.get(i).getCo2());
      ws.addCell(labelN);
     }
     for(int i=0;i<listprint.size();i++){
      jxl.write.Number labelN = new jxl.write.Number(6,i+1,listprint.get(i).getGrain());
      ws.addCell(labelN);
     }
     for(int i=0;i<listprint.size();i++){
      jxl.write.Number labelN = new jxl.write.Number(7,i+1,listprint.get(i).getNoise());
      ws.addCell(labelN);
     }
    wwb.write();
    wwb.close(); 
   } catch (RowsExceededException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   } catch (WriteException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }   
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return;  
 }
}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值