天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Web在線操作Office之Word

  最近公司有個項目,需要直接在IE瀏覽器中操作Word文檔,隨后在網上搜了一些資料,感覺都不是很理想。不過,最后還是找到了一個功能比較強的控件,是老外開發的控件,需要注冊。還好,沒有注冊時,只是在頁面關閉時彈出一個對話框,如果某人能把它…掉,本人非常感激。好了,廢話不多說。先說說最近搜集的成果,不同級別的功能有不同級別的對應方案,要看大家需要了,這里我提三個方案。

  第1個方案、原汁原味

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

  其中,Excel文件如果轉為Xml格式,是可以在線操作的,詳細操作方式請參考我之前寫的一篇貼子WebExcel文件展現。

  附件,還附加了一個用代碼方式將Word文件轉為Html格式的例子,僅供大家參考吧,偶也是從其他地方下下來的,經測試可以使用
  第2個方案、大樹底下好乘涼

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

  好了,我們要用到的就是微軟的dsoframer控件,它是免費的,比第1個方案,功能稍強,這個控件沒有詳細研究,看了看別人的demo,感覺功能不強就沒研究下去,附件中也有相關代碼的,大家直接參考下好了。
  第3個方案、另辟蹊徑

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

      這個控件是OfficeOCXSetup插件,當前版本是7。4。0。236,附件有此安裝程序,安裝完以后有各編程工具的示例,安裝程序提供的示例只提供了簡單的打開,關閉,保存等操作。

      看提供的Demo里,好像可以對Word,Excel,PPT,Vioso等Office文件操作,確實很強大哈!

      下面我說一個比較復雜的業務場景:客戶的某個單據需要錄入,但單據里面的標簽等其他幫助性文字是不允許客戶修改的,客戶所允許修改的地方我們要預留出來。 也就是說,Word本身提供的文檔,也相當于ASPX頁面,只留一些控件允許客戶編輯就行了。

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

  環境要求

  a) Word2007,最好是2007版本,因為控件有所新增

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

  名詞解釋

  a) 書簽

  Word文檔里的書簽,我也不太好講,可以理解為在文檔中預留一個標識符,找數據的時候可以按此標識符查找即可

  b) 結點

  Word本身支持導入XSD架構文檔,結點功能與書簽功能類似,可理解為書簽,只是功能更強大

  結點操作步驟

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

clip_image002圖-1

  b) 開發員收到Word文檔后,需要制作xsd文檔(相當于定義XML文件結構的,如圖-2和圖-3所示:

clip_image003圖-2

clip_image005圖-3

  說明:

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

  ii. <xs:element name=”死亡報卡”>結點為報卡名稱。

  iii. <xs:element name=”xingming”>為某個結點,相當于DbTable中的某個DbColumnName名稱。

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

dbtablename

結點所屬Db表名稱

dbcolumnname

結點所屬Db表中列名稱

dbcolumndatatype

列數據類型,如int,varchar等

dbcolumnedittype

列編輯類型,如textbox,dropdownlist

dbcolumnvalue

列欄值,若編輯類型是下拉菜單,則數據值寫入此屬性

helpsign

公用幫助標識,如民族,疾病等

comments

列中文含義,可用于必輸項檢測,彈出提示內容

  v. 只需復制結點,修改其自定義屬性值即可。

  c) 完成xsd文檔的編寫,我們就需要將xsd文檔并入Word中,因為我們使用結點方式操作數據。

  i. 打開Word文檔,選擇”開發工具”頁面。

  ii. 單擊”架構”菜單,出現”模板和加載項”對話框,如圖-4所示:

clip_image007圖-4

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

clip_image008圖-5

  iv. 上述操作完成后,再點擊如圖-4所示”結構”菜單,結果會出現如圖-6所示界面。注意:”僅列出當前元素的子元素”不要勾選。

clip_image009圖-6

  v. 在如圖-6所示的界面中,子項中有”死亡報卡”一項,它是我們所有<xs:element>項目的父級結點,需要將其引入其中,注意引入時必須選擇”應用于整篇文檔”,如圖-7所示:

clip_image011圖-7

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

clip_image013圖-8

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

clip_image014圖-9

  viii. 通過上述步驟,我們完成了報卡的設置工作,到此我們就可以通過編碼方式對文檔操作,包括結點取值和賦值,結點自定義屬性取值和賦值。不過,如果直接拿給客戶使用,會造成某些文字誤刪,因此,還需要對文檔進行保護處理,同時,設置好只允許客戶編輯的區域。

  d) 對文檔進行保護,只允許錄入,詳細操作步驟如下。

  i. 切換到”開發工具”頁面,單擊”保護文檔”,出現如圖-10所示界面:

clip_image016圖-10

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

  iii. 其余結點均按此操作步驟即可,設置完以后,選擇”是,啟動強制保護”即可(沒有設置密碼)。這樣操作以后,交付給客戶使用時,客戶就不會誤刪數據了,因為所有數據都被保護起來了,留下來的都是允許客戶編輯的。

  iv. 保護起來后,效果如圖-11所示,可以停止保擴,注意:不要勾選”突出顯示可編輯的區域”復選框,它的作用是顯示/隱藏保護區域。

clip_image017圖-11

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

  不要勾選”在文檔中顯示XML標記”復選框,它的作用是顯示/隱藏結點項。

clip_image018圖-12

  設置書簽步驟

      a) 以設置頁眉為例

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

    clip_image020圖-13

      ii. 設置完以后,如圖-14所示,這是我們設置好以后的書簽,是否保護可以通過設置結點保護方式即可。

    clip_image021圖-14

      控件安裝程序說明

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

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

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

      clip_image023圖-15

        b) 打開ASP.NET頁面,cab加載方式也按它的加載方式即可。

        i. 我們在使用時,直接照搬過來即可,例:打開Word文檔,事件注冊方式等。

        ii. 這里重點說明我們以后會頻繁操作的事件,就是雙擊事件,因為我們需要雙擊事件彈出公用幫助,提供快速錄入功能,如圖-16所示:

      clip_image024圖-16

        c) 代碼說明

        i. 聲明頁面變量array_xmlnodenameist和array_bookmarknamelist兩個變量,用于存儲Word文檔中結點名稱列表和書簽名稱列表,目的是提高性能,不必每次再循環獲取。上述變量可在OA1_DocumentOpened事件中賦值。

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

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

      clip_image026圖-17

      clip_image028圖-18

        Word控件使用

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

        clip_image029圖-22

          b) 數據賦值時,是下拉菜單操作,需要將顯示值顯示在頁面控件,數據值存儲在結點的自定義屬性中,此功能已實現,代碼在edrawoffice.js中。

          備注

          1. 本要提供對此控件的技術支持,有問題可以與我聯系,同時我提供的類庫中若在問題,也請與我聯系。

          2. 此控件的評估版本,頁面關閉時會彈出對話框,如圖-23所示,若有高手可以解決,本人不勝感謝。

        clip_image030圖-23

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

        NET技術Web在線操作Office之Word,轉載需保留來源!

        鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

        主站蜘蛛池模板: 成人性生交片无码免费看 | 一区二区三区国产 | 国产成人免费全部网站 | 99爱在线精品视频网站 | 久久亚洲这里只有精品18 | 99精品成人无码A片观看金桔 | 日韩欧美一区二区三区免费看 | 欧美 亚洲 有码中文字幕 | 男人国产AV天堂WWW麻豆 | 国产99精品视频 | 国产午夜不卡 | 色噜噜视频 | 国产中文在线 | 美女张开腿露尿口给男人亲 | 久久99国产视频 | 在线亚洲色拍偷拍在线视频 | 青柠在线观看视频在线高清完整 | 无码国产精品高潮久久9 | 欧美成人免费观看久久 | 在线观看国产人视频免费中国 | 亚洲午夜精品A片久久软件 亚洲午夜精品A片久久不卡蜜桃 | 亚洲精品午夜aaa级久久久久 | 亚洲国产日韩欧美在线a乱码 | 最近中文字幕高清中文字幕MV | 4k岛国精品午夜高清在线观看 | 天天看片视频免费观看 | 男生插女生下体 | 国产精品欧美久久久久天天影视 | 成人性生交大片免费看中文 | 国产骚妇BB网 | 吃春药后的女教师 | 99久久精品国产交换 | 青青草伊人网 | 亚洲精品免费观看 | 久久合| 日本黄色成年人免费观看 | 恋孩癖网站大全在线观看 | 嫩草AV久久伊人妇女 | 久久视频这里只精品99热在线观看 | 欧美ZC0O人与善交的最新章节 | 日韩视频中文在线一区 |