C# 使用C将Outlook联系人获取到CSV#

C# 使用C将Outlook联系人获取到CSV#,c#,csv,outlook,C#,Csv,Outlook,我在工作中遇到了一个问题,如果我们有一个销售团队,将他们的联系人存储在Outlook中,并且不总是使用CRM,我们需要这些联系人来帮助进行销售分析 现在,为了避免强迫销售团队使用CRM或手动导出他们的联系人,我正在寻找一种可能的方法,从outlook程序中提取他们的联系人,并创建一个CSV文件,该文件可以通过电子邮件发送到总部,然后使用Perl脚本添加到数据库中 我有办法做到这一点的一部分,即我可以让程序作为一个定时任务运行,每天这样做,并存储一个小的SQLLite数据库文件与程序,以确保只有新

我在工作中遇到了一个问题,如果我们有一个销售团队,将他们的联系人存储在Outlook中,并且不总是使用CRM,我们需要这些联系人来帮助进行销售分析

现在,为了避免强迫销售团队使用CRM或手动导出他们的联系人,我正在寻找一种可能的方法,从outlook程序中提取他们的联系人,并创建一个CSV文件,该文件可以通过电子邮件发送到总部,然后使用Perl脚本添加到数据库中

我有办法做到这一点的一部分,即我可以让程序作为一个定时任务运行,每天这样做,并存储一个小的SQLLite数据库文件与程序,以确保只有新的联系人添加到CSVT的电子邮件每次

我目前面临的问题是,我发现很难找到关于如何使用C#访问联系人的合适信息。我看到了一些基于使用的信息,但仅此而已

如果有人能给我指一个地方,那里有人尝试过类似的东西,这样我就可以看到它是如何完成的,然后创建我的定制程序


提前感谢您提供的任何帮助

如果要访问Outlook数据(例如联系人),您必须向Microsoft Outlook X.X对象库添加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>();
Stefan Cruysbergs创建了一个OutlookProvider组件,该组件充当Outlook应用程序对象的包装器。您可以使用LINQ查询此提供程序并检索联系人等数据

他在这里有一个完整的解释:

您可以在此处下载他的组件:


研究他的代码。这就足够让您开始了。

如果您想访问Outlook数据(例如联系人),您必须向Microsoft Outlook X.X对象库添加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>();
Stefan Cruysbergs创建了一个OutlookProvider组件,该组件充当Outlook应用程序对象的包装器。您可以使用LINQ查询此提供程序并检索联系人等数据

他在这里有一个完整的解释:

您可以在此处下载他的组件:


研究他的代码。这应该足以让您开始。

因此Outlook有一种通过UI获取csv的方法。您是否知道一种调用该代码的方法,而不是获取联系人并手动执行工作?因此Outlook有一种通过UI获取csv的方法。您是否知道一种调用该代码的方法,而不是获取联系人并手动执行工作?