MS Office應用程序如Excel可以使用Visual Basic for Applications進行編程。是否可以使用C#爲MS Office編寫高級任務?使用C#編程MS Office - 有可能嗎?
回答
是的。您可以使用Visual Studio Tools for Office,它允許使用C#,VB.NET等編寫加載項。它使用COM interop與Office進行通信。
此外,您現在有Office apps,它們是JavaScript和可能的服務器端點之間的混合體,也可以用C#編碼。
當然。您可以免費安裝Visual Studio Community 2015。然後看看這個文件夾(路徑可能會有所不同):
C:\ Program Files文件(x86)的\微軟的Visual Studio 12.0 \ Visual Studio工具用於Office \ PIA \ Office15
在這裏,您可以找到每個Office應用程序的DLL。
例如,以Microsoft.Office.Interop.Excel.dll
爲例,啓動一個新的C#項目,將該dll添加到項目引用中。
using Excel = Microsoft.Office.Interop.Excel;
然後就可以初始化你的Excel應用程序是這樣的:
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\path\file.xlsx");
Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[1];
有一個豐富的,這些教程在線。 DoNotPerls是先從基本的好去處:
另一個偉大的選項(和一個我建議)是使用外接快遞。 https://www.add-in-express.com
他們的工具集極大地擴展了VSTO或COM加載項的可能性。他們的支持非常棒,他們的網站幾乎可以提供任何Office開發場景的示例。
這是不公正的,更不用說Excel-DNA。一個有才華,非常有幫助的傢伙寫的驚人的產品和良好的社區支持。它是免費提供的,並且使製作Excel自定義函數,RTD服務器和其他好東西非常容易。
Excel-DNA是一個將.NET集成到Excel的獨立項目。使用Excel-DNA,您可以使用C#,Visual Basic.NET或F#爲Excel創建原生(.xll)加載項,提供高性能的用戶定義函數(UDF),自定義功能區接口等。您的整個加載項可以打包成一個不需要安裝或註冊的.xll文件。
編寫自定義函數就像編寫一個靜態方法一樣簡單,並且包含編譯後的DLL或.cs文件和提供的XLL文件。
對於Excel,您可以使用我的ESharper加載項交互式地在活動Excel會話中使用C#編寫輕量級用戶定義的函數和命令,而無需額外的插件部署開銷。
- 1. 使用MS Office Interop程序集編譯應用程序
- 2. 比較只使用MS Office和表C#
- 3. 我們可以在Mac OS上使用MS office com組件嗎?
- 4. 我可以使用未安裝MS Office的C#創建Excel工作表嗎?
- 5. 獲取的MS Office的applicationID編程
- 6. MS Office Automation使用PublishObjects.Add
- 7. 使用C#MS Office的拼寫檢查功能#
- 8. MS OFFICE C#:主互操作程序集
- 9. Office 2007可以在沒有Office 2007的情況下進行PIA部署嗎?
- 10. PowerShell上次使用MS Office時使用
- 11. WinForm應用程序和MS Office引用
- 12. 使用UI編輯MS Office或Open Office文件的Java API或庫
- 13. 你能用C語言編程FPGA嗎?
- 14. c#:VSTO - > MS Office應用程序失去焦點?
- 15. MS Office Add On
- 16. 有沒有許可證自動化MS Office應用程序的方法?
- 17. WPF與C++,有可能嗎?
- 18. 從WPF應用程序啓動MS Office
- 19. MS Office Javascript API
- 20. MS Access Permissions(MS Office 2010)
- 21. 用flex sdk編譯fla,有可能嗎?
- 22. 我可以根據自己的風格定製MS Office功能區嗎?
- 23. 用C#和LINQ進行分組編程(選擇可能嗎?)
- 24. MS Office相關的lockbackreg.msi有什麼用?
- 25. C++可能的編程Mystery?
- 26. 你可以從MS SQL Server調用C++應用程序嗎?
- 27. 您可以訪問MS Office 365 Word保存文檔事件嗎?
- 28. 是否有可能從Office加載項(C#)啓動控制檯應用程序
- 29. C#MS Office PPT到圖像轉換
- 30. 將MS Office Interop v11與Office 2010結合使用
我想,有兩個大方向。首先,編寫一種插件來在Excel(或其他)中添加一些功能。這可以通過例如像帕特里克說的VSTO。第二個是用excel本身操作excel文件的程序。這可以通過NPOI或其他幾個庫中的其中一個來完成...... –
NPOI是類似於微軟文檔(用於.net)的java API的東西嗎? – Fsalad
NPOI是一個庫,它爲您提供用於直接從c#應用程序操作excel或word文件的類/方法。看看https://npoi.codeplex.com/ –