JXL 生成EXCEL文件格式說明

JXL 生成EXCEL文件格式說明

1、 合併單元格 
  WritableSheet.mergeCells(int m,int n,int p,int q); 
  作用是從(m,n)到(p,q)的單元格全部合併,比如: 
  WritableSheet sheet=book.createSheet(“第一頁”,0); 
  //合併第一列第一行到第六列第一行的所有單元格 
  sheet.mergeCells(0,0,5,0); 
  合併既可以是橫向的,也可以是縱向的。合併後的單元格不能再次進行合併,否則會觸發異常。 
  2、 行高和列寬 
  WritableSheet.setRowView(int i,int height); 
  作用是指定第i+1行的高度,比如: 
  //將第一行的高度設爲200 
  sheet.setRowView(0,200); 
  WritableSheet.setColumnView(int i,int width); 
  作用是指定第i+1列的寬度,比如: 
  //將第一列的寬度設爲30 
  sheet.setColumnView(0,30);


//jxl
 public static String explorExcelAllProject() throws IOException, WriteException {

    		Date today = new Date();
    		String filename = EIBProperties.getProperty("cordys.home", "")
    				+ System.getProperty("file.separator") + "Web"
    				+ System.getProperty("file.separator") + "upladFiles"
    			    + System.getProperty("file.separator") + "Bidding_Document"
    				+ System.getProperty("file.separator") + "ExplorExcelAllProject_" // w
    				+ today.getTime() + ".xls";
    		String url = "/cordys" + System.getProperty("file.separator")
    				+ "upladFiles" + System.getProperty("file.separator")
    			    + "Bidding_Document" + System.getProperty("file.separator")
    				+ "ExplorExcelAllProject_" + today.getTime() + ".xls"; // w
    		File excelFile = new File(filename);
    		if (!excelFile.exists()) {
    			excelFile.createNewFile();
    		}
    		FileOutputStream os = new FileOutputStream(excelFile);
    		
    		String message = "中國商飛設計研發中心招標工作一覽表";

    		WritableWorkbook wwb = Workbook.createWorkbook(os);
    		//設置表頭
    		WritableSheet ws = wwb.createSheet(message, 0);
            //設置行高
    		ws.setRowView(行號,高度(200=10));
    		//設置字體
    		WritableCellFormat wcf = new WritableCellFormat();
    		wcf.setAlignment(jxl.format.Alignment.CENTRE);
    		wcf.setFont(new jxl.write.WritableFont(WritableFont.TIMES, 16,
    				WritableFont.BOLD, true));
    		wcf.setBorder(Border.TOP, BorderLineStyle.THICK, Colour.BLACK);
    		wcf.setBorder(Border.LEFT, BorderLineStyle.THICK, Colour.BLACK);
    		wcf.setBorder(Border.RIGHT, BorderLineStyle.THICK, Colour.BLACK);
    		//wcf.setBorder(Border.BOTTOM, BorderLineStyle.THICK, Colour.BLACK);
    		//設置列數
    		ws.mergeCells(0, 0, 20, 0); // 2012/7/24 7/7
    		ws.addCell(new Label(0, 0, message, wcf));
    		//表頭設置
    		WritableCellFormat wcf1 = new WritableCellFormat();
    		wcf1.setFont(new jxl.write.WritableFont(WritableFont.TIMES, 10,WritableFont.BOLD, false));
    		wcf1.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);
    		//wcf1.setBorder(Border.BOTTOM, BorderLineStyle.THIN, Colour.BLACK);
    		wcf1.setAlignment(jxl.format.Alignment.CENTRE);
    		//增加表頭設置多少列
    		ws.addCell(new Label(0, 1, "序號", wcf1));
    		ws.addCell(new Label(1, 1, "項目名稱", wcf1));
    		ws.addCell(new Label(2, 1, "批覆概算(萬元)", wcf1));
    		ws.addCell(new Label(3, 1, "批覆面積", wcf1));
    		ws.addCell(new Label(4, 1, "招標編號", wcf1));


    		//小計和總計樣式
    		WritableCellFormat wcf5 = new WritableCellFormat();
    		//設置字體紅色加粗無下劃線
    		wcf5.setFont(new jxl.write.WritableFont(WritableFont.TIMES, 10,WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
                    Colour.RED));
    		wcf5.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);
    		wcf5.setBackground(Colour.YELLOW);
//設置列寬
    		ws.setColumnView(0, 5);
    		ws.setColumnView(1, 15);
    		ws.setColumnView(2, 17);
    		ws.setColumnView(3, 12);
    		ws.setColumnView(4, 12);
    		wwb.write();
    		wwb.close();
    		os.close();
    		
            return url;
    }

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章