一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Web在線操作Office之Word

  最近公司有個(gè)項(xiàng)目,需要直接在IE瀏覽器中操作Word文檔,隨后在網(wǎng)上搜了一些資料,感覺(jué)都不是很理想。不過(guò),最后還是找到了一個(gè)功能比較強(qiáng)的控件,是老外開(kāi)發(fā)的控件,需要注冊(cè)。還好,沒(méi)有注冊(cè)時(shí),只是在頁(yè)面關(guān)閉時(shí)彈出一個(gè)對(duì)話框,如果某人能把它…掉,本人非常感激。好了,廢話不多說(shuō)。先說(shuō)說(shuō)最近搜集的成果,不同級(jí)別的功能有不同級(jí)別的對(duì)應(yīng)方案,要看大家需要了,這里我提三個(gè)方案。

  第1個(gè)方案、原汁原味

  Word,Excel或Vioso文檔等Office,2003以后的版本,是都可以進(jìn)行轉(zhuǎn)換的,比如轉(zhuǎn)換為Xml或Html,所以最簡(jiǎn)單的方案就是直接通過(guò)代碼將Word文檔轉(zhuǎn)為Html格式,這樣就可以在線瀏覽,只是在線瀏覽,是不能編輯的。

  其中,Excel文件如果轉(zhuǎn)為Xml格式,是可以在線操作的,詳細(xì)操作方式請(qǐng)參考我之前寫(xiě)的一篇貼子WebExcel文件展現(xiàn)。

  附件,還附加了一個(gè)用代碼方式將Word文件轉(zhuǎn)為Html格式的例子,僅供大家參考吧,偶也是從其他地方下下來(lái)的,經(jīng)測(cè)試可以使用
  第2個(gè)方案、大樹(shù)底下好乘涼

  說(shuō)這句話,我們的第2個(gè)方案就是要用微軟的東東,其實(shí)微軟有好多好東東的,只是它喜歡偷偷摸摸的放出來(lái),很少被人知道。或者說(shuō),他根本不打算推這個(gè)產(chǎn)品, 只能說(shuō):這個(gè)可以有。

  好了,我們要用到的就是微軟的dsoframer控件,它是免費(fèi)的,比第1個(gè)方案,功能稍強(qiáng),這個(gè)控件沒(méi)有詳細(xì)研究,看了看別人的demo,感覺(jué)功能不強(qiáng)就沒(méi)研究下去,附件中也有相關(guān)代碼的,大家直接參考下好了。
  第3個(gè)方案、另辟蹊徑

      既然微軟這棵大樹(shù)我們靠不住,就只能借助于第三方控件了,老外在這方向做得很牛X,方方面面的控件或插件都有,只有想不到,沒(méi)有找不到…唉,中國(guó)啊…

      這個(gè)控件是OfficeOCXSetup插件,當(dāng)前版本是7。4。0。236,附件有此安裝程序,安裝完以后有各編程工具的示例,安裝程序提供的示例只提供了簡(jiǎn)單的打開(kāi),關(guān)閉,保存等操作。

      看提供的Demo里,好像可以對(duì)Word,Excel,PPT,Vioso等Office文件操作,確實(shí)很強(qiáng)大哈!

      下面我說(shuō)一個(gè)比較復(fù)雜的業(yè)務(wù)場(chǎng)景:客戶的某個(gè)單據(jù)需要錄入,但單據(jù)里面的標(biāo)簽等其他幫助性文字是不允許客戶修改的,客戶所允許修改的地方我們要預(yù)留出來(lái)。 也就是說(shuō),Word本身提供的文檔,也相當(dāng)于ASPX頁(yè)面,只留一些控件允許客戶編輯就行了。

  同時(shí),Word本身還提供一些簡(jiǎn)單的控件,比如日期,下拉菜單等。如果對(duì)下拉菜單取值,賦值等。好了,制作流程如下所示

  環(huán)境要求

  a) Word2007,最好是2007版本,因?yàn)榭丶兴略?/p>

  b) 可維護(hù)xsd文件的工具(推薦使用VS2005或VS2008)

  名詞解釋

  a) 書(shū)簽

  Word文檔里的書(shū)簽,我也不太好講,可以理解為在文檔中預(yù)留一個(gè)標(biāo)識(shí)符,找數(shù)據(jù)的時(shí)候可以按此標(biāo)識(shí)符查找即可

  b) 結(jié)點(diǎn)

  Word本身支持導(dǎo)入XSD架構(gòu)文檔,結(jié)點(diǎn)功能與書(shū)簽功能類似,可理解為書(shū)簽,只是功能更強(qiáng)大

  結(jié)點(diǎn)操作步驟

  a) 制作Word模板文件,如圖-1所示:

clip_image002圖-1

  b) 開(kāi)發(fā)員收到Word文檔后,需要制作xsd文檔(相當(dāng)于定義XML文件結(jié)構(gòu)的,如圖-2和圖-3所示:

clip_image003圖-2

clip_image005圖-3

  說(shuō)明:

  i. xsd提供可視化和編碼維護(hù)兩種方式,個(gè)人建議使用編碼方式維護(hù)。

  ii. <xs:element name=”死亡報(bào)卡”>結(jié)點(diǎn)為報(bào)卡名稱。

  iii. <xs:element name=”xingming”>為某個(gè)結(jié)點(diǎn),相當(dāng)于DbTable中的某個(gè)DbColumnName名稱。

  iv. <xs:attribute name=”dbtablename”為結(jié)點(diǎn)的自定義屬性,是由我們自行增加的,目前的屬性定義如:

dbtablename

結(jié)點(diǎn)所屬Db表名稱

dbcolumnname

結(jié)點(diǎn)所屬Db表中列名稱

dbcolumndatatype

列數(shù)據(jù)類型,如int,varchar等

dbcolumnedittype

列編輯類型,如textbox,dropdownlist

dbcolumnvalue

列欄值,若編輯類型是下拉菜單,則數(shù)據(jù)值寫(xiě)入此屬性

helpsign

公用幫助標(biāo)識(shí),如民族,疾病等

comments

列中文含義,可用于必輸項(xiàng)檢測(cè),彈出提示內(nèi)容

  v. 只需復(fù)制結(jié)點(diǎn),修改其自定義屬性值即可。

  c) 完成xsd文檔的編寫(xiě),我們就需要將xsd文檔并入Word中,因?yàn)槲覀兪褂媒Y(jié)點(diǎn)方式操作數(shù)據(jù)。

  i. 打開(kāi)Word文檔,選擇”開(kāi)發(fā)工具”頁(yè)面。

  ii. 單擊”架構(gòu)”菜單,出現(xiàn)”模板和加載項(xiàng)”對(duì)話框,如圖-4所示:

clip_image007圖-4

  iii. 再單擊”添加架構(gòu)”,將我們剛才定義好的xsd文件引入其中,并為其定義一個(gè)別名,如圖-5所示:

clip_image008圖-5

  iv. 上述操作完成后,再點(diǎn)擊如圖-4所示”結(jié)構(gòu)”菜單,結(jié)果會(huì)出現(xiàn)如圖-6所示界面。注意:”僅列出當(dāng)前元素的子元素”不要勾選。

clip_image009圖-6

  v. 在如圖-6所示的界面中,子項(xiàng)中有”死亡報(bào)卡”一項(xiàng),它是我們所有<xs:element>項(xiàng)目的父級(jí)結(jié)點(diǎn),需要將其引入其中,注意引入時(shí)必須選擇”應(yīng)用于整篇文檔”,如圖-7所示:

clip_image011圖-7

  vi. 接下來(lái)的事情,我們就可以選擇子項(xiàng)到單元格了,只需單擊即可,操作效果如圖-8所示:

clip_image013圖-8

  vii. 選擇我們剛才新增的結(jié)點(diǎn),右鍵,屬性,彈出如圖-8所示的界面,這個(gè)界面用于將我們自定義的屬性加入到結(jié)點(diǎn)中,即增加至”分配的屬性”項(xiàng)中。這樣我們就可以通過(guò)代碼方式取值和賦值自定義屬性了,增加后的效果如圖-9所示:

clip_image014圖-9

  viii. 通過(guò)上述步驟,我們完成了報(bào)卡的設(shè)置工作,到此我們就可以通過(guò)編碼方式對(duì)文檔操作,包括結(jié)點(diǎn)取值和賦值,結(jié)點(diǎn)自定義屬性取值和賦值。不過(guò),如果直接拿給客戶使用,會(huì)造成某些文字誤刪,因此,還需要對(duì)文檔進(jìn)行保護(hù)處理,同時(shí),設(shè)置好只允許客戶編輯的區(qū)域。

  d) 對(duì)文檔進(jìn)行保護(hù),只允許錄入,詳細(xì)操作步驟如下。

  i. 切換到”開(kāi)發(fā)工具”頁(yè)面,單擊”保護(hù)文檔”,出現(xiàn)如圖-10所示界面:

clip_image016圖-10

  ii. 選中某個(gè)我們剛才編輯好的模板,將右側(cè)”僅允許在文檔中進(jìn)行此類編輯”勾選,再勾選”每個(gè)人”復(fù)選框即可。

  iii. 其余結(jié)點(diǎn)均按此操作步驟即可,設(shè)置完以后,選擇”是,啟動(dòng)強(qiáng)制保護(hù)”即可(沒(méi)有設(shè)置密碼)。這樣操作以后,交付給客戶使用時(shí),客戶就不會(huì)誤刪數(shù)據(jù)了,因?yàn)樗袛?shù)據(jù)都被保護(hù)起來(lái)了,留下來(lái)的都是允許客戶編輯的。

  iv. 保護(hù)起來(lái)后,效果如圖-11所示,可以停止保擴(kuò),注意:不要勾選”突出顯示可編輯的區(qū)域”復(fù)選框,它的作用是顯示/隱藏保護(hù)區(qū)域。

clip_image017圖-11

  e) 最后,我們需要美化一下,如圖-12所示:

  不要勾選”在文檔中顯示XML標(biāo)記”復(fù)選框,它的作用是顯示/隱藏結(jié)點(diǎn)項(xiàng)。

clip_image018圖-12

  設(shè)置書(shū)簽步驟

      a) 以設(shè)置頁(yè)眉為例

      i. 在頁(yè)眉中,錄入”醫(yī)院名稱”文字,然后按幾個(gè)空格,再選中剛才的空格,切換到”插入”頁(yè)面,選擇書(shū)簽,彈出如圖-13所示頁(yè)面,錄入一個(gè)書(shū)簽名稱,添加至列表框中即可。

    clip_image020圖-13

      ii. 設(shè)置完以后,如圖-14所示,這是我們?cè)O(shè)置好以后的書(shū)簽,是否保護(hù)可以通過(guò)設(shè)置結(jié)點(diǎn)保護(hù)方式即可。

    clip_image021圖-14

      控件安裝程序說(shuō)明

        a) 安裝完此控件后,找到安裝路徑,如圖-15所示。

        i. Officeviewer.cab文件就是我們ASP.NET程序所要加載的cab控件包。

        ii. Samples文件夾,是各編程工具的示例,可直接運(yùn)行,里面有ASP.NET示例,我們以此為例:

      clip_image023圖-15

        b) 打開(kāi)ASP.NET頁(yè)面,cab加載方式也按它的加載方式即可。

        i. 我們?cè)谑褂脮r(shí),直接照搬過(guò)來(lái)即可,例:打開(kāi)Word文檔,事件注冊(cè)方式等。

        ii. 這里重點(diǎn)說(shuō)明我們以后會(huì)頻繁操作的事件,就是雙擊事件,因?yàn)槲覀冃枰p擊事件彈出公用幫助,提供快速錄入功能,如圖-16所示:

      clip_image024圖-16

        c) 代碼說(shuō)明

        i. 聲明頁(yè)面變量array_xmlnodenameist和array_bookmarknamelist兩個(gè)變量,用于存儲(chǔ)Word文檔中結(jié)點(diǎn)名稱列表和書(shū)簽名稱列表,目的是提高性能,不必每次再循環(huán)獲取。上述變量可在OA1_DocumentOpened事件中賦值。

        ii. 控件與Db表數(shù)據(jù)取值和賦值方式如圖-17和圖-18所示。

        iii. Js方法可參考edrawoffice.js文件,已對(duì)一些功能有所封裝。

      clip_image026圖-17

      clip_image028圖-18

        Word控件使用

          a) 使用Word2007中自帶的控件,實(shí)現(xiàn)數(shù)據(jù)的簡(jiǎn)單定義后,數(shù)據(jù)的取值和賦值操作,如日期,性別下拉菜單等,如圖-22所示:

        clip_image029圖-22

          b) 數(shù)據(jù)賦值時(shí),是下拉菜單操作,需要將顯示值顯示在頁(yè)面控件,數(shù)據(jù)值存儲(chǔ)在結(jié)點(diǎn)的自定義屬性中,此功能已實(shí)現(xiàn),代碼在edrawoffice.js中。

          備注

          1. 本要提供對(duì)此控件的技術(shù)支持,有問(wèn)題可以與我聯(lián)系,同時(shí)我提供的類庫(kù)中若在問(wèn)題,也請(qǐng)與我聯(lián)系。

          2. 此控件的評(píng)估版本,頁(yè)面關(guān)閉時(shí)會(huì)彈出對(duì)話框,如圖-23所示,若有高手可以解決,本人不勝感謝。

        clip_image030圖-23

          代碼及安裝程序:Web在線操作Office文件.File

        NET技術(shù)Web在線操作Office之Word,轉(zhuǎn)載需保留來(lái)源!

        鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

        主站蜘蛛池模板: 色婷婷综合和线在线 | 91秒拍国产福利一区 | 日韩中文字幕在线亚洲一区 | 欧美亚洲国产成人精品 | 色天天综合 | 2021最新久久久视精品爱 | 久久国产精品1区2区3区网页 | 麻豆精品密在线观看 | 国产精品资源网站在线观看 | 国产成人精品免费视频 | 婷婷色站| 国内自拍第五一页 | 精品久久久久香蕉网 | 国产精选91热在线观看 | 国产欧美久久久精品影院 | 手机看片自拍自拍自拍 | 久热福利| 91原创视频| 日韩专区亚洲国产精品 | 久久久久久久久女黄9999 | 91在线免费视频 | 精品久久久中文字幕一区 | 在线国产高清 | 久久国产精品ww | 天天视频免费入口 | 青青草色久综合网 | 激情丁香小说 | 91亚洲国产系列精品第56页 | 高清一区二区三区 | 久草社区在线 | 国产一级久久免费特黄 | 精品视频在线观看免费 | 久久久久777777人人人视频 | 国产欧美一级片 | 亚洲欧洲国产成人精品 | 久久久久久91香蕉国产 | 久久久久久极精品久久久 | 成人入口| 色中色网址导航 | 毛片午夜| 91在线九色 |