1. 程式人生 > >[報表篇]設定路徑

[報表篇]設定路徑

步驟一:製作表和畫面

步驟二:模板的新建與匯入

步驟三:編輯程式碼

步驟四:印刷結果畫面的顯示

一:製作表和畫面

(一)製作表

1.如下所示在資料庫中新建一張表

SQL文:
CREATE TABLE m_student1 (
XUESHENGID varchar(10) NOT NULL,
LASTNAME varchar(15) DEFAULT NULL,
FIRSTNAME varchar(15) DEFAULT NULL,
STUDENT_FULL_NM_KN varchar(40) DEFAULT NULL,
XINGBIE varchar(20) DEFAULT NULL,
CHENGJI

int(11) DEFAULT NULL,
STUDENT_SUBJECT varchar(5) DEFAULT NULL,
FIRST_REG_DTM datetime DEFAULT NULL,
FIRST_REG_ID varchar(50) DEFAULT NULL,
LAST_UPDATE_DTM datetime DEFAULT NULL,
LAST_UPDATE_ID varchar(50) DEFAULT NULL,
PRIMARY KEY (XUESHENGID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

定義匯入-定義內容(新增SQL文)-建立
在這裡插入圖片描述


修改專案名稱,點選儲存(記得勾選反映到資料庫)
在這裡插入圖片描述

(一)建立兩個畫面

1.畫面:印刷函式
製作畫面-畫面版面設計-新建
在這裡插入圖片描述
建立介面名,填寫TextBox,列印按鈕的專案數,點選儲存。新增選單,選擇一個資料夾儲存
在這裡插入圖片描述

畫面跳轉到介面設計頁面,如下圖所示修改專案名並設計頁面
在這裡插入圖片描述
※介面設計結束後記得按設計欄中的儲存按鈕儲存頁面。
2.畫面:印刷函式畫面
製作畫面-畫面科目定義-新建
在這裡插入圖片描述
建立介面名,填寫管理ID(可填1),選擇關聯表,勾選需要編輯的專案。同印刷函式,將畫面新增到選單並選擇資料夾
在這裡插入圖片描述
點選介面專案定義的[畫面版面設計轉移]按鈕,跳轉到介面設計頁面
在這裡插入圖片描述
重新定義科目屬性,右擊科目右側的文字框,選擇專案定義
在這裡插入圖片描述


按下圖所示更改科目屬性,點選儲存
在這裡插入圖片描述
※介面設計結束後記得按設計欄中的儲存按鈕儲存頁面。

登入使用者介面新增資料
在這裡插入圖片描述

INSERT INTO m_student1 VALUES (‘k0001’, ‘王’, ‘明明’, ‘王明明’, ‘男’, ‘88’, ‘0’, ‘2018-12-13 19:42:58’, ‘’, ‘2018-12-13 19:42:58’, ‘’);
INSERT INTO m_student1 VALUES (‘k0001’, ‘王’, ‘明明’, ‘王明明’, ‘男’, ‘60’, ‘1’, ‘2018-12-13 19:43:24’, ‘yong_yong01test1’, ‘2018-12-13 19:46:59’, ‘yong_yong01test1’);
INSERT INTO m_student1 VALUES (‘k0001’, ‘王’, ‘明明’, ‘王明明’, ‘男’, ‘100’, ‘2’, ‘2018-12-13 19:47:44’, ‘yong_yong01test1’, ‘2018-12-13 19:47:44’, ‘yong_yong01test1’);
INSERT INTO m_student1 VALUES (‘k0002’, ‘李’, ‘華’, ‘李華’, ‘女’, ‘45’, ‘0’, ‘2018-12-13 19:49:32’, ‘yong_yong01test1’, ‘2018-12-13 19:49:32’, ‘yong_yong01test1’);
INSERT INTO m_student1 VALUES (‘k0002’, ‘李’, ‘華’, ‘李華’, ‘女’, ‘99’, ‘1’, ‘2018-12-13 19:50:15’, ‘yong_yong01test1’, ‘2018-12-13 19:50:15’, ‘yong_yong01test1’);
INSERT INTO m_student1 VALUES (‘k0002’, ‘李’, ‘華’, ‘李華’, ‘女’, ‘78’, ‘2’, ‘2018-12-13 19:50:46’, ‘yong_yong01test1’, ‘2018-12-13 19:50:46’, ‘yong_yong01test1’);

二:模板的新建與匯入

  1. 下載報表模板並編輯內容
  2. 模板匯入
    報表模板定義-指定新模板
    選擇需要的模板匯入並記住檔案ID在程式碼中進行更改
    在這裡插入圖片描述

三:編輯程式碼

var cy;	
//建立StringBuilder物件	
var strSqlc = new StringBuilder();	
//學生ID	
var NIANDU1 = getObj('txt4');	
//全域性變數	
var excelDataBean = null;	
//區域性變數	
var sheeBean = null;	
//excel印刷	
var excelPrint = getExcelPrint();	
var rowDataList = null;	
var row = null;	
try {	
    //追加SQL語句	
    strSqlc.append("SELECT XUESHENGID,STUDENT_FULL_NM_KN,XINGBIE,STUDENT_SUBJECT,CHENGJI FROM M_STUDENT1 ");	
    //判斷ID	
    if (NIANDU1 != null && NIANDU1 != "") {    
        //追加SQL語句	
        strSqlc.append(" AND XUESHENGID = '").append(NIANDU1).append("'");	
    }   
    //按ID排序	
    strSqlc.append(" ORDER BY XUESHENGID ");	
    cy = exequeryarrylist(strSqlc.toString());	
    excelDataBean = new ExcelDataBean();	
    //資料不為空	
    if (cy != null && cy.size() > 0) {	
        // list初始化	
        rowDataList = new ArrayList();	
        sheeBean = new ExcelDataBean();	
        var conditionMap = new HashMap();     
        //迴圈資料並取值	
        for (var i = 0; i < cy.size(); i++) {	
            row1 = new ArrayList();	
            row = cy.get(i);	
            // 學生ID	
            row1.add(row.get(0));	
            // 姓名	
            if (nullOrBlank(row.get(1))) {	
                row1.add("");	
            } else {    
                // 姓名            	
                row1.add(row.get(1));	
            }	
            // 性別	
            if (nullOrBlank(row.get(2))) {	
                row1.add("");	
            } else {	
                // 性別	
                row1.add(row.get(2));	
            }	
            // 科目	
            if (nullOrBlank(row.get(3))) {	
                row1.add("");	
            } else {	
                // 科目	
                row1.add(row.get(3));	
            }	
            // 成績	
            if (nullOrBlank(row.get(4))) {	
                row1.add("");	
            } else {	
                // 成績	
                row1.add(row.get(4));	
            }	
            rowDataList.add(row1);	
        }	
        //拷貝模板的標題部分	
        sheeBean.addCopyItem("A1", "A5");	
        //設定指定單元格的值	
        sheeBean.addItem("A2", "成績表");	
        //單元格型別的設定	
        conditionMap.put(0, new ExcelCellBean(0, 0, "string")); 	
        //單元格型別的設定 	
        conditionMap.put(1, new ExcelCellBean(0, 1, "string"));	
        //單元格型別的設定	
        conditionMap.put(2, new ExcelCellBean(0, 2, "string"));	
        //單元格型別的設定 	
        conditionMap.put(3, new ExcelCellBean(0, 3, "string"));	
        //單元格型別的設定 	
        conditionMap.put(4, new ExcelCellBean(0, 4, "number"));	
        //在excel資料列表中追加資料	
        var listBean = sheeBean.addList("A5", rowDataList, conditionMap);	
        //追加sheet	
        excelDataBean.addSheet("成績表", sheeBean);	
     //設定輸出路徑,預設儲存到c:/work/test下	
        excelDataBean.setCustomPath("excel/");	
        //獲取輸出路徑	
        var path = excelDataBean.getCustomPath();	
        excelPrint.setExcelDataBean(excelDataBean);     	
        //輸入模板檔案ID	
        excelPrint.setTemplateID(132);	
        JsonObj = excelPrint.print("132");
        //顯示路徑	
     ActStr += "alert('" + path + "');";	
    } else {	
        excelDataBean.setErrorMsg("資料不存在。");	
        excelPrint.setTemplateID(132);	
        excelPrint.setExcelDataBean(excelDataBean);	
        JsonObj = excelPrint.print("132");	
    }	
} catch (e) {	
    trace(e);	
    ActStr += "alert('" + e + "');";	
}						

工具-自定義函式-新建
在這裡插入圖片描述
建立函式名稱,選擇使用範圍、使用函式的介面和執行端
在這裡插入圖片描述
單擊編輯函式
※第三行程式碼getObj()的引數如下圖右側紅框所示 txt4,根據個人設定情況會有所不同
在這裡插入圖片描述
※setTemplateID()和print(" ")的引數為匯入模板時記下的檔案ID
製作畫面-畫面版面設計-編輯
在這裡插入圖片描述
進入到介面設計頁面,右擊印刷函式按鈕,選擇函式定義
在這裡插入圖片描述
選擇已經定義好的函式型別及函式名稱,點選編輯 在這裡插入圖片描述
點選SQL語句驗證,可以檢驗SQL語句的執行結果
在這裡插入圖片描述

在這裡插入圖片描述

四:印刷結果畫面的顯示

該方法預設儲存路徑為c:/work/test,按下印刷函式按鈕,會在C盤下設定好檔案的絕對路徑並在印刷函式頁面顯示。在這裡插入圖片描述
在這裡插入圖片描述