中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      js控制excel打印解決方案參考

      時間:2024-08-31 02:28:33 office辦公 我要投稿
      • 相關推薦

      js控制excel打印解決方案參考

        做web開發大家都遇到過打印的問題,對于復雜的表格打印著實令人頭痛,這片文章介紹一下使用excel打印的解決方法。 首先,如果客戶端調用excel必須降低ie安全級別,這樣一些非法的控件,如3721什么的都自動安裝了,所以我這樣解決:保持原來的ie設置,把你的站點添加到信任站點,然后更改安全站點的安全級別,這樣就給你的站點設置了一個安全通道,而且阻止了3721等的非法入侵,當然前提是你要讓你的客戶下載一個注冊表并安裝,我是自己做,自己用,所以我得用戶是我說什么都跟著我做,你們就需要說服客戶了:)。

      js控制excel打印解決方案參考

        好,那么下一步就是如何實現打印了,這里我有非常奪得報表,而且一些非常復雜,如學生成績單,需要按照學年、學期計算學分績點,打印照片,學位授予情況,學籍處理情況,四六級成績,實習,輔修成績,實踐等,那么我如何把這些信息完整的打印到客戶端就是非常麻煩的了,所有我用excel,先做一個模版,然后調用模版填充數據,問題又來了,這么多數據怎么組織呢,摸索好長時間,突然有個想法,把數據的提取單獨寫一個對象,這樣我的程序就簡潔多了,而且最好的是我任何地方都可以一樣使用它。還說成績單,數據非常大,多的要150條數據,所以我的數據源選擇了表格,這樣不必費力的生成什么xml了,顯示的就是我要的數據。ok介紹一下Gettabledata.js:它就是我要的數據對象了,主要功能是從table中提取數據(GetTableData),并提供一個輸出數據的方法(getfielddata),這個基本功能可以滿足我多數的需求。這個我自己寫的一個簡介,怕以后我忘了的:),大家看看有什么不清楚的我補充一下。

        //Obj參數指定數據的來源(限定Table),默認第一行為字段名稱行

        //MoveNext方法,參數是表的行向上或向下移動的位數,正數向下移動,負數向上.如.MoveNext(1),.MoveNext(-1)

        //GetFieldData方法獲得當前行的指定的列名的數,據如:.GetFieldData("考試成績"):列名.GetFieldData(1):索引

        //Sort_desc方法對指定的列按降序排列,如.Sort_desc("學年","學期")

        //Sort_asc方法對指定的列按升序排列,如.Sort_"考試成績:number"):":"后面的參數制定改列數據類型,此例為數字

        //GetData方法返回字段值為特定值的數據數組,如果沒有字段值則返回所有該字段記錄.可以在外部進行其他處理,不建議直接處理數據:如.GetData()

        //Delete方法刪除當前記錄,數組減少一行,如:.Delete

        //updateField更新當前行的指定的索引數據(索引如果是數字,則是列的索引,為字符,是數據字段的名稱)如:MyData.UpdateField("課程號",MyData.GetFieldData("原課程號"))

        //MoveFirst記錄移動到數據的第一條記錄,注意數據從第二行開始,默認第一行為字段名稱行

        //MoveLast記錄移動到數據的最后一條記錄

        //Distinct返回所選記錄的不同記錄的條件個數維數數組,同時升序排序

        //初始化,Obj:table的名字,Leftlen:左面多余數據長度,Rightlen:右面多余數據長度,

        //rows屬性:數組行數,cols:列數

        在示例代碼中Print_bzcjd.js他是打印復雜excel的腳本,

        var xlBook = xls.Workbooks.Open("c:xsxycjb.xls");

        var xlsheet = xlBook.Worksheets(1)

        這個可是使用網絡模板,

        var xlBook = xls.Workbooks.Open("/PrintTemplatesxsxycjb.xls");

        var xlsheet = xlBook.Worksheets(1)

        這個力例子中基本把excel打印需要的技術都展示出來了,如圖片,退出什么的。

        這里要說明的是table的數據可以是隱藏的,不顯示也可以取出,這樣就可以增加很多數據進來,又不影響界面。

        Excel.js:這個是清理excel的腳本,當結束excel進程的時候它還沒有推出,清理一下,這個就沒有vs好了:(。

        這個是一個簡單的示例,就是你給他一個表格名字就可以了,然后生成一個表格,就是這樣:MakeExcel("TABLE1",true,"1.xls"),其他參數可以不要。

        function MakeExcel(Obj,ProceVisible,SaveAsFilename,SortType,SortField){

        var MyData= new GetTableData(Obj,0,0);

        var myrows=MyData.rows;

        var i,j;

        try {

        var xls = new ActiveXObject ( "Excel.Application" );

        }

        catch(e) {

        alert( "要打印該表,您必須安裝Excel電子表格軟件,同時瀏覽器須使用“ActiveX 控件”,您的瀏覽器須允許執行控件。 請點擊【幫助】了解瀏覽器設置方法!");

        return "";

        }

        if (typeof(ProceVisible)=="undefined"){

        xls.visible = true;

        }

        else{

        if (ProceVisible=="true"){

        xls.visible = true;

        }

        else

        {

        xls.visible = false;

        }

        }

        var xlBook = xls.Workbooks.Add;

        var xlsheet = xlBook.Worksheets(1);

        xls.Cells.Select;

        xls.Selection.NumberFormatLocal = "@";

        for (i=0;iMyData.rows ;i++){

        for (j=0;jMyData.cols ;j++){

        if (typeof(MyData.GetFieldData(j)) == "number"){

        xlsheet.Cells(i+1,j+1).NumberFormatLocal = "0.00_ ";

        }

        xlsheet.Cells(i+1,j+1).Value= MyData.GetFieldData(j);

        }

        MyData.MoveNext();

        }

        if (SaveAsFilename=="" || typeof(SaveAsFilename)=="undefined"){

        var fname = xls.Application.GetSaveAsFilename("*.xls", "Excel Spreadsheets (*.xls), *.xls");

        if (fname!=""){

        xlBook.SaveAs(fname);

        }

        }

        else{

        xlBook.SaveAs(SaveAsFilename);

        }

        xlBook.Close (savechanges=false);

        //xls.visible = false;

        xls.Quit();

        xls=null;

        //結束excel進程,退出完成

        window.setInterval("Cleanup();",1);

        }

      【js控制excel打印解決方案參考】相關文章:

      excel表格頁面打印設置03-05

      excel打印區域怎么設置03-09

      excel每頁打印表頭如何設置03-05

      在excel中如何進行打印設置03-21

      Excel 表格的基本操作教程參考01-02

      關于Excel表格應用中打印故障的問答錦囊03-23

      CAD心得之繪圖與打印比例控制03-18

      實施思科安全威脅控制解決方案考試要點03-23

      最佳的 Node.js 教程結合實例03-19

      主站蜘蛛池模板: 久久久久亚洲AV片无码乐播| 国产不卡视频一区二区在线观看 | 久久精品国产一区二区涩涩 | 亚洲视频第一页在线观看| 亚洲国产一区二区精品在线观看| 欧美xxxxx精品| A亚洲VA欧美VA国产综合| 军事| 金门县| 罗甸县| 元江| 开心五月婷婷综合网站| 最新永久无码AV网址亚洲| 亚洲中文字幕永久网站| 亚洲av激情综合在线| 亚洲AV手机专区久久精品| 阜新市| 大同市| 熟妇与小伙子露脸对白| 寻乌县| 辽宁省| 99久久综合狠狠综合久久一区 | 亚洲精品中文字幕观看| 国产综合一区二区三区av| 国产精品久久婷婷婷婷| 中文字幕亚洲综合久久| 粉嫩小泬无遮挡久久久久久| 一级少妇无遮掩内射免费| 国产一区二区三区亚洲精品| 国产成人亚洲合集青青草原精品| 国产精品国产三级国产av主| 亚洲成AV人久久| 91精品国产91久久久无码色戒| 邯郸市| 国产精品黄色片在线观看| 亚洲精品成人网线在线播放va | 成人黄网站免费永久在线观看| 日本久久精品在线播放| 久久精品日本美女视频| 成人在线免费视频亚洲| 欧洲亚洲色一区二区色99|