2010-06-23 30 views

回答

2

較早版本的Office用於支持OLE嵌​​入,允許您在DsoFramer控件的Web瀏覽器中顯示其內容。那些日子已經過去了,DsoFramer不再可用,Office版本〜2007在他們自己的程序中打開文檔。你不能再做這項工作了。

0

我們的工作是將文檔下載到本地工作站。將其存儲在用戶個人文件夾路徑中的某個位置。使用系統上安裝的軟件進行顯示。

獲取使用此個人文件夾路徑:

Environment.GetFolderPath(Environment.SpecialFolder.Personal) 

下載所需的文件到該路徑。
然後,使用這樣的掏出來的文件:

if (File.Exists(fullLocalDocumentPath) == true) 
{ 
    System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
    proc.EnableRaisingEvents = false; 
    proc.StartInfo.FileName = fullLocalDocumentPath; 
    proc.Start(); 
} 

這將使用OS配置程序(基於文件擴展名)打開文件並顯示它。這不是一個完美的解決方案,但它確實對我們有用,並且可能適合您的需求。

需要注意的是:
   只會顯示擴展名映射到應用程序的文件。
   打開應用程序的副本以顯示文件。
   您應該提供一些機制來清除個人
文件夾中的下載文件。

文件擴展名往往會 '只是工作' 使用這種技術:
       的* .doc,* .DOCX,的* .xls,的.xlsx(DOCX和XLSX是Office 2007和以上)
       
.PDF(每個人都有這樣裝的吧?)
        .XPS(如果安裝了.NET,如果運行.NET程序,這將不會是一個問題,將工作)
       
.TXT
可能的工作:
        * .PPTX(需要電源點)
只有當你安裝了特殊軟件的工作:
    Visio文件,AUTOCAD等。 ..

即使用戶沒有安裝Office,這也可以工作。用戶只需要從MS安裝免費閱讀器應用程序。

+1

我需要它嵌入在應用程序中,這將無法與我的解決方案 – 2010-06-24 12:43:49

2

@ hans-passant:但是我正在通過DsoFramer組件做這件事。該組件適用於Word 2007和Word 2010。使用這種方式存在很多功能。 乾杯。

+0

在互聯網上有什麼好的例子嗎?謝謝回答 – Pritesh 2012-10-20 03:14:56