我想創建簡單的文件查看器。 我應該使用什麼控件來查看我的應用程序中的office文檔(word,excel)。文檔查看器C#控制
回答
較早版本的Office用於支持OLE嵌入,允許您在DsoFramer控件的Web瀏覽器中顯示其內容。那些日子已經過去了,DsoFramer不再可用,Office版本〜2007在他們自己的程序中打開文檔。你不能再做這項工作了。
How to use the WebBrowser control to open Office documents in Visual C# 2005 or in Visual C# .NET
如果您正在使用Office的新版本,你可以通過OpenXML的SDK文檔。有一些基於OOXML的庫具有較高的抽象級別,如DocX或OpenXML文檔查看器。但是你必須自己實現查看器控件。
我們的工作是將文檔下載到本地工作站。將其存儲在用戶個人文件夾路徑中的某個位置。使用系統上安裝的軟件進行顯示。
獲取使用此個人文件夾路徑:
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安裝免費閱讀器應用程序。
我需要它嵌入在應用程序中,這將無法與我的解決方案 – 2010-06-24 12:43:49
@ hans-passant:但是我正在通過DsoFramer組件做這件事。該組件適用於Word 2007和Word 2010。使用這種方式存在很多功能。 乾杯。
在互聯網上有什麼好的例子嗎?謝謝回答 – Pritesh 2012-10-20 03:14:56
- 1. 文檔查看器控件?
- 2. 文檔查看器控件
- 3. 從控制器下載Spire.doc文檔進行查看
- 4. Objective C查看到控制器通信
- 5. 查看控制器容器
- 6. 使用Google文檔查看器打開文檔(.doc,.pdf) - C#
- 7. ipad的文檔查看器
- 8. Plone文檔查看器wildcard.foldercontents
- 9. Google文檔查看器
- 10. Plone和文檔查看器
- 11. 在線文檔查看器
- 12. Google文檔PDF查看器
- 13. 後從查看文件到控制器
- 14. MVC3查看控制器
- 15. propertyBinding控制器 - 查看
- 16. 辭退查看控制器
- 17. UIPickerView查看控制器
- 18. 文檔交互控制器
- 19. 從另一個視圖控制器的內存中查看/查看控制器
- 20. 如何從控制器傳遞參數來查看,查看控制器?
- 21. 我可以限制查看受控文檔庫中的某些文檔嗎?
- 22. 查看控制器遏制Z位置
- 23. 強制控制器查看內存
- 24. 如何從控制檯查看Javascript文檔?
- 25. .docx和xlsx文件未在Google文檔查看器中查看
- 26. CountDown計時器查看控制器
- 27. 查看文檔TKinter
- 28. 強制php查看文檔根
- 29. 文檔控制
- 30. 在文檔查看器中查看以BLOB數據類型存儲的文檔?
這不適用於VS 2008,任何其他解決方案? – 2010-06-23 14:36:53