<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-95  評(píng)論-31  文章-10  trackbacks-0
    網(wǎng)上流傳了大量大量的如何導(dǎo)出,結(jié)果都不太實(shí)用。
    網(wǎng)上流傳通用的js導(dǎo)出word代碼如下:
         function method1(){
          var oWD = new ActiveXObject("Word.Application"); 
          oWD.WindowState = 2; 
          var oDC = oWD.Documents.Add("",0,1); 
          var oRange =oDC.Range(0,1); 
          var sel = document.body.createTextRange(); 
          sel.moveToElementText(huahai);  //里面參數(shù)為div的id或者form的id或者table的id或者...表示將此范圍內(nèi)輸出word
          sel.select(); 
          sel.execCommand("Copy"); 
          oRange.Paste(); 
          oWD.Application.Visible = true; 
          }
    <body>
    <div id="huahai">
    </div>
    </body>
    <input type="button" onclick="javascript:method1();" value="導(dǎo)出為WORD">
    以上方法可導(dǎo)出任意jsp(包括圖片)但是除了以下內(nèi)容:
    凡是讓用戶(hù)輸入帶有<input>或者<textarea>等等等標(biāo)簽輸入框地方就不能導(dǎo)出成word了。
    比如一個(gè)table(如下所示),如果使用上述辦法就不能導(dǎo)出。
    如果去掉<input>標(biāo)簽?zāi)敲淳涂梢詫?dǎo)出,但是問(wèn)題就是我就是要全部導(dǎo)出.......
    <table id="table1">
    <tr>
    <td>姓名</td><td><input type="text" size="5"></td>
    <td>年齡</td><td><input type="text" size="5"></td>
    </tr>
    <table>
    解決辦法:
    下面給出一個(gè)JSP,里面包含div、form、table、image、以及各種<input>標(biāo)簽導(dǎo)出為word
    <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    </head>
    <body>
    <form action="" id="huahai" >
      <div align="center">
       <div align="center" id="div_content">
        <h2>
         <font color="red">測(cè)試導(dǎo)出word</font>
        </h2>
        <h4>
         <font color="red">測(cè)試導(dǎo)出word</font>
        </h4>
        </div>
    <table id="table1">
    <tr>
    <td>姓名</td><td><input type="text" size="5"></td>
    <td>年齡</td><td><input type="text" size="5"></td>
    </tr>
    <table>
    <div id="img">
        <hr/>
        <img src="MM.jpg" height="45%" width="30%">
        </br>
    </div>
     <div id="text_area">
        <textarea name="warn_task" wrap="off" cols="80" rows="12">區(qū)域內(nèi)容:</textarea>
        </textarea>
        <hr />
    </div>
    <input type="button" onclick="javascript:test();" value="測(cè)試">
    </div>
     </form>
    </body>
    </html>
    下面給出js代碼(加入<head>標(biāo)簽之間):
    <script type="text/javascript">
       var oWD = new ActiveXObject("Word.Application");
       var oDC = oWD.Documents.Add("",0,1);
       var oRange =oDC.Range(0,1);
    function word(id,way){
       var sel = document.body.createTextRange();
       sel.moveToElementText(id);
       sel.select();
       sel.execCommand(way);
       oRange.Paste();
    }

    function test(){
       var table=document.getElementById('table1');
       var table_cells = table.rows[0].cells;
       var form_elements = document.getElementById('huahai');
       word(div_content,'Copy'); //調(diào)用word函數(shù),將div_content范圍內(nèi)容拷貝到word里面。
       for(i=0;i<table_cells.length;i++){
           oRange =oDC.Range(oRange.End-1,oRange.End); //設(shè)定位置依次由上往下、從左往右
           var sel = document.body.createTextRange();
           sel.moveToElementText(table_cells[i]); //將單元格內(nèi)容復(fù)制到word
           sel.select();
           sel.execCommand("Copy");
           sel.moveEnd('character');  //不加這句導(dǎo)出不了,里面參數(shù)為character、不是copy
           oRange.Paste();
           oRange =oDC.Range(oRange.End-1,oRange.End);
       }
        oRange =oDC.Range(oRange.End-1,oRange.End); //復(fù)制不同的東西,需要寫(xiě)這句繼續(xù) 寫(xiě)死的這句話(huà)就是位置
        var img = document.getElementById('img');
        word(img,'Copy');//將img范圍內(nèi)容拷貝到word里面。
        oRange =oDC.Range(oRange.End-1,oRange.End);
        var text_area = document.getElementById('text_area');
        word(text_area,'Copy');//將text_area范圍內(nèi)容拷貝到word里面。
        oRange =oDC.Range(oRange.End-1,oRange.End);
        oWD.Application.Visible = true; //這句意思是所有操作完畢后,在顯示出來(lái),如果寫(xiě)在里面,會(huì)發(fā)現(xiàn)word打開(kāi)后,什么標(biāo)簽啊、內(nèi)容啊就跟打字機(jī)一樣往里面填
    }
    </script>
     
    最后補(bǔ)充:IE工具設(shè)置,安全--啟動(dòng)-對(duì)沒(méi)有標(biāo)記為安全的Activex的控件進(jìn)行初始化和腳本運(yùn)行
    posted on 2010-01-18 13:04 朔望魔刃 閱讀(6113) 評(píng)論(2)  編輯  收藏 所屬分類(lèi): JavaScript

    評(píng)論:
    # re: jsp通過(guò)js按鈕導(dǎo)出word小結(jié) 2013-11-11 23:12 | xzvc
    # re: jsp通過(guò)js按鈕導(dǎo)出word小結(jié) 2016-05-17 08:44 | q
    下達(dá)  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 女bbbbxxxx另类亚洲| 国内精品免费视频自在线| 国产亚洲欧美日韩亚洲中文色| 久久精品国产亚洲香蕉| 免费一级成人毛片| 成人免费无码视频在线网站| 99在线在线视频免费视频观看 | 四虎在线视频免费观看视频| 久久精品成人免费国产片小草 | 成人伊人亚洲人综合网站222| 精品成在人线AV无码免费看| 国产在线播放线91免费| 美女黄频免费网站| 亚洲AV网一区二区三区 | 热re99久久6国产精品免费| 久久国产精品免费| 亚洲一级片免费看| 成人a毛片免费视频观看| 亚洲av无码一区二区三区天堂| 亚洲一区免费在线观看| 亚洲欧洲精品国产区| 亚洲嫩模在线观看| 亚洲男人都懂得羞羞网站| 亚洲人成网址在线观看| 亚洲Av综合色区无码专区桃色| 亚洲无线码一区二区三区| 美腿丝袜亚洲综合| 中文字幕在亚洲第一在线| 中国亚洲女人69内射少妇| 激情综合色五月丁香六月亚洲| 亚洲区小说区图片区| 亚洲精品和日本精品| 亚洲一本大道无码av天堂| 亚洲精品成a人在线观看| 亚洲毛片av日韩av无码| 久久久久亚洲AV无码专区网站| 中文字幕中韩乱码亚洲大片| 亚洲日本一区二区三区在线| 亚洲国产成人片在线观看 | 91香蕉国产线观看免费全集 | 亚洲日本香蕉视频|