Excel excel1 = new Excel();//新建一个excel文件
List<StationObject> list = dao.getStation();//获取车站
excel.setWorkingSheet(0)//此处的0代表设置的是excel文件的第一个sheet
.sheetName("第一个sheet");//指定sheet的名字
//设置第一行的值
excel1.cell(0,0)//指定某个单元格 cell(row,column)行列
.value("沪宁线主要站OD客流密度按天平日:8字头“)//设置它的文本值
excel.region(0, 0,0, 10);//合并第一行10个单元格
//该sheet里表格的横表头和竖表头是相同的,且是有规律的,可以先设置整个表格的样式
//excel中行列的索引都是从0开始的,所以如图中,横表头是从索引为1的行开始,竖表头是从行索引为2开始的
for(int i=1;i<=list.size();i++){
for(int i=0;i<=list.size();j++){
excel1.cell(i, j) .align(Align.CENTER)//设置单元格的文本居中的
.border(BorderStyle.THIN, Color.BLACK);//设置单元格的样式实线 为黑色
}
}
//如果单独设置某一列的值可以直接设置
//如果要设置某一列的值
//excel1.column(0, 2).value(list);//column(col,startRow)是指某一个列值,放的是一个数组值,其中startRow是指从某一行开始
//excel1.column(0,0).autoWidth();//autoWidth()根据列的值内容宽度自动调节 这个方法只有excel的column对象有这个方法
//excel1.column(0,0).borderFull(BorderStyle.THIN, Color.BLACK);//设置整个列的单元格式
//单独设置某一行的值row(row, startCol) 之从某一行的某一列开始 row后面放值得话也是放数组格式 方法个列差不多
//excel1.row(1,1).value(list);//设置横表头的值
//获取表中的数据
list<odOjbect> od = dao.getObject();//od的行数与站的个数是一致的
//动态生成数据
for(int i=0;i<list.size){
String station = list.get(i);
excel1.cell(i+1,1).value(station);//放横表头的数据 cell是指定某行的某列的单元格
excel1.cell(i+2,0).value(station);//放竖表头 它是从索引为2的行开始的
for(int j=0;j<od.size();j++){
odObject obj = od.get(j);
if(station.equal(obj.getStation())){//找到对应的相同的一行
//开始设置中间的数据 注意中间的数据是从索引为1的列开始的
excel.cell(2+i, 1+j).value(obj.getShuJu());
break;
}
}
}
excel1.saveExcel(path);//保存起来 path是 保存放置的路径 e:\test.xls