这两天学习了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;
}
}