西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開發(fā)其它知識(shí) → 使用第三方插件在瀏覽器上操作office文檔

使用第三方插件在瀏覽器上操作office文檔

前往專題相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:本站整理時(shí)間:2010/12/6 8:18:35字體大。A-A+

作者:佚名點(diǎn)擊:1089次評(píng)論:0次標(biāo)簽: 插件 office word excel access

瓦拉淘插件v2.2.0.22 官方最新版
  • 類型:瀏覽輔助大。399KB語言:中文 評(píng)分:.0
  • 標(biāo)簽:
立即下載
 最近公司有個(gè)項(xiàng)目,需要直接在IE瀏覽器中操作Word文檔,隨后在網(wǎng)上搜了一些資料,感覺都不是很理想.

不過,最后還是找到了一個(gè)功能比較強(qiáng)的控件,是老外開發(fā)的控件,需要注冊(cè).還好,沒有注冊(cè)時(shí),只是在頁(yè)面關(guān)閉時(shí)彈出一個(gè)對(duì)話框,如果某人能把它…掉,本人非常感激,嘿嘿

好了,廢話不多說.先說說最近搜集的成果,不同級(jí)別的功能有不同級(jí)別的對(duì)應(yīng)方案,要看大家需要了,這里我提三個(gè)方案.

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

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

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

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

第2個(gè)方案,大樹底下好乘涼

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

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

第3個(gè)方案,另辟蹊徑

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

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

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

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

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

  1. 環(huán)境要求

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

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

  1. 名詞解釋

a) 書簽

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

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

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

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

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

圖-1

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

圖-2

圖-3

說明:

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ù)值寫入此屬性

helpsign

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

comments

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

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

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

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

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

圖-4

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

圖-5

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

圖-6

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

圖-7

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

圖-8

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

圖-9

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

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

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

圖-10

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

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

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

圖-11

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

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

圖-12

  1. 設(shè)置書簽步驟

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

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

圖-13

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

圖-14

  1. 控件安裝程序說明

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

i. Officeviewer.cab文件就是我們asp.net程序所要加載的cab控件包

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

圖-15

b) 打開asp.net頁(yè)面,cab加載方式也按它的加載方式即可

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

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

圖-16

c) 代碼說明

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

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

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

圖-17

圖-18

  1. Word控件使用

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

圖-22

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

備注

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

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

圖-23

 

代碼及安裝程序

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)