public static void outPutOutboundTrainInfo(ArrayList<ArrayList<Block>> bl){
		try{
			jxl.Workbook readWorkBook = jxl.Workbook.getWorkbook(new File("Output_File.xls"));   //唯讀的Excel工作薄物件
			jxl.write.WritableWorkbook writeWorkBook = Workbook.createWorkbook(new File("Output_File.xls"), readWorkBook);   //寫入
			jxl.write.WritableSheet writeSheet = writeWorkBook.createSheet("outbound_train_info", 2);   //建立一個工作表名字，然後0表示為第一頁		
			
			writeSheet.addCell(new Label(0, 0, "outbound Train No"));
			writeSheet.addCell(new Label(1, 0, "Day No"));
			writeSheet.addCell(new Label(2, 0, "Pullback engine no"));
			writeSheet.addCell(new Label(3, 0, "Starting time of pullback job"));
			writeSheet.addCell(new Label(4, 0, "ending time of pullback job"));
			writeSheet.addCell(new Label(5, 0, "departure time at departure area"));
			writeSheet.addCell(new Label(6, 0, "Departure track No"));
			writeSheet.addCell(new Label(7, 0, "number of blocks"));
			writeSheet.addCell(new Label(8, 0, "number of railcars"));
			writeSheet.addCell(new Label(9, 0, "destination of blocks(associated number of cars)"));
			
			
			for(int i=0 ; i<bl.size() ; i++){
				ArrayList<ArrayList<String>> tmpBlockName = countBlocks(bl.get(i));
				String destinationOfBlocks = new String();
				for(ArrayList<String> tb : tmpBlockName){
					destinationOfBlocks += tb.get(0) + "(" + tb.size() + ");";
				}
				writeSheet.addCell(new Label(0, i+1, "o" + (bl.get(i).get(0).outboundTrainNo+1)));
				writeSheet.addCell(new Label(1, i+1, Integer.toString(bl.get(i).get(0).departureDay)));
				writeSheet.addCell(new Label(2, i+1, Integer.toString(bl.get(i).get(0).pullBackEngineNo)));
				writeSheet.addCell(new Label(3, i+1, changeToFormatTime(bl.get(i).get(0).timeStartPullBack)));
				writeSheet.addCell(new Label(4, i+1, changeToFormatTime(bl.get(i).get(0).timeEndPullBack)));
				writeSheet.addCell(new Label(5, i+1, changeToFormatTime(bl.get(i).get(0).timeDepartureAtDepartureArea)));
				writeSheet.addCell(new Label(6, i+1, "D" + Integer.toString(bl.get(i).get(0).departureTrackNo+1)));
				writeSheet.addCell(new Label(7, i+1, Integer.toString(tmpBlockName.size())));
				writeSheet.addCell(new Label(8, i+1, Integer.toString(bl.get(i).size())));
				writeSheet.addCell(new Label(9, i+1, destinationOfBlocks));
				
				destinationOfBlocks = null;
				tmpBlockName = null;
			}		
			
			writeWorkBook.write();
			writeWorkBook.close();
		}
		catch (FileNotFoundException e) {
			e.printStackTrace();
		}catch (IOException e) {
			e.printStackTrace();
		} catch (RowsExceededException e) {
			e.printStackTrace();
		} catch (WriteException e) {
			e.printStackTrace();
		} catch (BiffException e) {
			e.printStackTrace();
		}
	}