Office(Excel、Word)二次開發——VSTO


Office(Excel、Word)二次開發——VSTO

Office(Excel、Word)二次開發——VSTO

Office二次開發模式:

1) VBA(visual studio for application),功能有限,語言落后。

2) .net2003中的對象模型(com組件,excelobject 11 library)功能強大,需手動操作。

3) vs.net2005中的vsto(visual studiotool for office)    VSTO方便快捷功能強大。

2).net的com 組件(vsto原形)

①vsà新建項目àC#àwindows應用程序

②解決方案,項目,添加引用àcom中Microsoft Excel 11.0 Object Library

③using Microsoft.Office.Interop.Excel;

④寫代碼,調試。

Office PIA: Microsoft.Office.Interop.Excel.dll,還有~access.dll,~word.dll。Microsoft.Office.Core等。PIA是在安裝Office的時候選擇安裝的,而且必須有.NET Framework才能用

3)vsto,就是對PIA的二次封裝。

vsto三類:插件(Add-in),文檔級別(如ExcelWorkbook)和模版(Template)。

插件(Add-in):外接程序是應用程序級別,對所有Excel應用都是有效

文檔和模板項目:文檔級別的程序,只對當前文檔和模板有效

本人開發環境:VS2010、Office2013、.Net Framework3.5

外接程序步驟:

1.新建項目->VisualC#->Office->2007-> Excel 2007外接程序(Excel 2007Add-in),Framework3.5

屬性à調試à啟用外部程序D:\ProgramFiles (x86)\Microsoft Office\Office15\EXCEL.EXE

2、卸載插件:①vs右鍵解決方案——>清理,②excel開發工具選項卡——>COM插件--移除

1、VSàExcel 2010 Workbook(Excel工作簿)項目,

2、提示:是否允許創建的項目訪問VBA項目系統,點擊“Ok”

Excel Workbook步驟:

UI設計參考:基於VSTO的Office二次開發c#.docx

Excel UI:任務窗體(Task Pane)、選項卡Ribbon、上下文菜單(右鍵)

2、在Excel里創建一個功能區Ribbon(VisualDesigner)

數據處理:用Access比較合適,因為SQL server太大,不適合用在excel上,另外,如果數據大時用excel太慢。所以結合access進行數據庫處理是關鍵。連接數據庫用ado.net 既可以連access,到時候還可以換sqlserver。

讀取excel數據:

0)Linq To Excel:簡單,開源,支持linq,但只能讀,不能寫。類似還有LinqToXml

1)、OLEDB快但不靈活(ado.net好像就建立在這之上),大量重復數據運算用,不改格式,只要數據。相當於當數據庫用,可以直接換成access,可以用sql語句。

2)、com組件靈活但慢(Interop.Excel,就是vsto原形,客戶端必須有excel,基於單元格讀取慢),少量數據用,而且有格式。

如果用com,盡量讀取一個區域range[“B5:H200”],不要一個單元格一個單元的讀取。

。。以下不推薦。。

3)、NOPI,快,靈活,上海人開發的組件,特殊功能收費,可能會不支持最新版excel,1m大小的dll,麻煩

4)、將Excel文件轉化成CSV(逗號分隔)的文件,用文件流讀取(等價就是讀取一個txt文本文件)。

5)、OpenXml SDK組件,據說速度不快

部署發布

1、Vsto4之前的發布需要新建一個setup的安裝文件,其他項目類型à安裝和部署àVisualStudio Installerà安裝項目、à屬性,簽名,選擇強名稱密鑰文件—>生成安裝文件à在解決方案上右鍵->發布à會在目標文件夾生成三個文件(setup.exe、AddIn.vsto、Application Files文件夾)à 將其打包給最終客戶

2、卸載加載項

如果是自己本機做測試可以直接刪除注冊表

在注冊表中HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\中找到outlookVSTO將其刪除就可以卸載掉加載頃

客戶則可以像卸載其它應用程序一樣卸載

vs官方:

VS VSTO Office
  2003 2003
2005 2005 03
  2005SE 03、07部分
2008 2008 07
2010   07/10
2012   10/13
2013   10/13
2015   10/13/16

總結:office03已經淘汰不用管,建議用vs2010開發Office 07/10,vs2015可以開發10、13,16的不成熟。支持office10的最多。

參考資料:

推薦:①新一代 NET Office開發指南Excel篇2006年,P465,C#(framework2,office2003,vs2005)

可不看:②VSTO開發者指南            VB寫的,只看開發環境

vsto論壇 :http://club.excelhome.net/forum-151-2.html

微軟官方:http://msdn.microsoft.com/library/cc668205.aspx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM