浪跡天涯
          web報表設計器....
          posts - 61,comments - 71,trackbacks - 0

          ??jsp頁面上的代碼如下:
          ?response.setContentType("application/vnd.ms-excel;charset=GBK");
          ???String filename = new String(("excel名稱.xls").getBytes(),
          ?????"ISO-8859-1");
          ???response.setHeader("Content-Disposition", "attachment;"
          ?????+ " filename=" + filename);
          ??? <%
          ??? JavaBean bean = new JavaBean();
          ???? bean .loadDataToExcel(response);
          ? %>
          ? JavaBean 頁面上的代碼如下:
          ???
          ??public boolean loadDataToExcel(HttpServletResponse response,
          ???List items) {
          ??? boolean flag = false;
          ??? try {
          ???WritableWorkbook wwb = Workbook.createWorkbook(response
          ?????.getOutputStream());
          ???WritableSheet asheet = wwb.createSheet("處理信息統計表", 52);
          ???// 定義一個新字體,參數說明:字體,大小,格式,是否斜體,顏色(默認黑色)
          ???WritableFont wfc = new WritableFont(WritableFont.ARIAL, 12,
          ?????WritableFont.BOLD, false);
          ???// 定義一個新字體,參數說明:字體,大小,格式,是否斜體,顏色(默認黑色)//不加粗
          ???WritableFont wf = new WritableFont(WritableFont.ARIAL, 12,
          ?????WritableFont.NO_BOLD, false);
          ???// 設置單元格格式
          ???WritableCellFormat wchB = new WritableCellFormat(wfc);
          ???// 使單元格居中
          ???wchB.setAlignment(Alignment.CENTRE);
          ???// 設置制表單位&制表日期格式
          ???WritableCellFormat date = new WritableCellFormat(wf);
          ???// 設置表頭格式
          ???WritableCellFormat tTitle = new WritableCellFormat(wf);
          ???tTitle.setAlignment(Alignment.CENTRE);
          ???tTitle.setVerticalAlignment(VerticalAlignment.CENTRE);
          ???tTitle.setWrap(true);
          ???tTitle.setBorder(Border.ALL, BorderLineStyle.THIN);
          ???// 設置數據顯示格式
          ???WritableCellFormat data = new WritableCellFormat(wf);
          ???data.setBorder(Border.ALL, BorderLineStyle.THIN);
          ???// data.setb
          ???// 分別設置單元格的高度&寬度

          ???asheet.setColumnView(0, 12);
          ???asheet.setColumnView(1, 12);
          ???asheet.setColumnView(2, 8);
          ???asheet.setColumnView(3, 8);
          ???asheet.setColumnView(4, 8);
          ???asheet.setColumnView(5, 8);
          ???asheet.setColumnView(6, 8);
          ???asheet.setColumnView(7, 7);
          ???asheet.setColumnView(8, 7);
          ???asheet.setColumnView(9, 7);
          ???asheet.setColumnView(10, 7);
          ???asheet.setColumnView(11, 7);
          ???asheet.setColumnView(12, 7);
          ???asheet.setColumnView(13, 7);
          ???asheet.setColumnView(14, 7);

          ???/* 開始寫入xls文件 */
          ???// 導出excel文件標題
          ???Label labelC = new Label(0, 0, "處理信息統計表", wchB);
          ???asheet.addCell(labelC);
          ???// 合并第一行16個單元格為1個作為標題欄
          ???asheet.mergeCells(0, 0, 15, 0);
          ???// 設置表頭
          ???labelC = new Label(0, 1, "預報信息", tTitle);
          ???asheet.addCell(labelC);
          ???asheet.mergeCells(0, 1, 3, 1);

          ???labelC = new Label(0, 2, "檢查場", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(1, 2, "車型", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(2, 2, "車號", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(3, 2, "軸位及左右", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(4, 1, "作業場處理信息", tTitle);
          ???asheet.addCell(labelC);
          ???asheet.mergeCells(4, 1, 15, 1);

          ???labelC = new Label(4, 2, "預警級別", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(5, 2, "檢查時間", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(6, 2, "車次", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(7, 2, "編組", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(8, 2, "順位", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(9, 2, "輪位", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(10, 2, "軸號", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(11, 2, "故障原因", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(12, 2, "實際測量數據", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(13, 2, "測量人", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(14, 2, "復測人", tTitle);
          ???asheet.addCell(labelC);

          ???labelC = new Label(15, 2, "處理方式", tTitle);
          ???asheet.addCell(labelC);
          ???wwb.write();
          ???wwb.close();
          ???flag = true;
          ??} catch (Exception e) {
          ???flag = false;
          ???e.printStackTrace();
          ??}
          ??return flag;
          ?}
          注:1.???說明asheet.mergeCells(列1, 行1, 列2, 行2)合并單元格,起始都是0
          ???? 2 .? 在Bean中需要導入兩個jar包servlet.jar和jxl.jar

          posted on 2007-03-30 15:15 JJCEA 閱讀(1373) 評論(0)  編輯  收藏 所屬分類: java日記
          主站蜘蛛池模板: 靖江市| 寿光市| 长汀县| 达孜县| 潞西市| 绍兴县| 巴南区| 建平县| 陆丰市| 崇阳县| 台南县| 囊谦县| 高雄市| 南投市| 景泰县| 天津市| 广宗县| 三河市| 文山县| 武汉市| 利津县| 丹东市| 祁连县| 广南县| 杭州市| 万源市| 诸城市| 蓬溪县| 克东县| 罗定市| 江城| 册亨县| 合作市| 繁昌县| 色达县| 吉木萨尔县| 西林县| 西充县| 八宿县| 武胜县| 衡阳市|