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