簡體   English   中英

使用C#將Outlook聯系人獲取為CSV

[英]Getting Outlook contacts to CSV using C#

我遇到一個工作上的問題,那就是我們有一個銷售團隊,他們將他們的聯系人存儲在Outlook中並且不總是使用CRM,我們需要這些聯系人來幫助進行銷售分析。

現在,為了避免強迫銷售團隊使用CRM或手動導出他們的聯系人,我正在尋找一種可能的方法,以編程方式從Outlook中提取他們的聯系人,並創建一個CSV文件,該文件可以通過電子郵件發送到總部,然后添加到使用Perl腳本的數據庫。

我對執行此操作的部分方法有想法,例如,我可以使程序作為定時任務每天運行,並在程序中存儲一個小的SQLLite DB文件,以確保僅將新聯系人添加到CSV中,並通過電子郵件將每個聯系人時間。

我目前遇到的問題是,我很難找到有關如何使用C#與聯系人聯系的體面信息。 我已經看到一些基於使用Microsoft.Office.Interlop.Outlook命名空間的信息,但僅此而已。

如果有人可以將我指向一個嘗試過類似操作的位置,以便我可以看到它是如何完成的,然后創建我的自定義程序。

預先感謝您的任何幫助

如果要訪問Outlook數據(例如,聯系人),則必須向Microsoft Outlook XX對象庫添加COM引用。

之后,您可以創建Outlook應用程序對象的實例:

Microsoft.Office.Interop.Outlook.Application outlook;
outlook = new Microsoft.Office.Interop.Outlook.Application();   

您可以通過以下方式獲取聯系人集合:

Microsoft.Office.Interop.Outlook.MAPIFolder folder =
    outlook.GetNamespace("MAPI")
        .GetDefaultFolder(OlDefaultFolders.olFolderContacts);
IEnumerable<ContactItem> contacts = folder.Items.OfType<ContactItem>();

然后,您可以使用LINQ to Objects查詢此集合:

var query = from contact in contacts
            where contact.Email1Address != null
            select contact;

Stefan Cruysbergs創建了一個OutlookProvider組件,該組件充當Outlook應用程序對象的包裝。 您可以使用LINQ查詢此提供程序並檢索數據,例如聯系人。

他在這里對此有完整的解釋:

http://www.scip.be/index.php?Page=ArticlesNET05&Lang=NL

您可以在這里下載他的組件:

http://www.scip.be/index.php?Page=DownloadNETOfficeItems&Lang=NL

學習他的代碼。 它應該足以讓您入門。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM