【问题标题】:MS CRM 2011 CSV import (programatically)MS CRM 2011 CSV 导入(以编程方式)
【发布时间】:2023-12-13 18:38:01
【问题描述】:

我该怎么做?

我需要将 CSV 文件导入(并映射)到 CRM 2011 中的自定义实体。

我正在运行 CRM 2011 的本地实例,需要使用后期绑定实体方法。

我已经尝试过以下示例:Export and import a data map,但失败得很惨(ImportMap 未找到 - 它在什么程序集中?)。

【问题讨论】:

  • 你能显示你的CSV文件数据吗?您的自定义实体是否在 CSV 中包含所有数据字段??
  • @Dot_NETPro 它有 3 列和许多行,例如 100 000+。我需要将它们用作字符串,所以这不是问题。此外,没有标题行。

标签: dynamics-crm dynamics-crm-2011 crm microsoft-dynamics dynamics-crm-online


【解决方案1】:

您好,您可以在programatically 下方执行类似操作,而无需创建早期绑定类。

using (StreamReader reader = new StreamReader("D://yourfileFolder//file.txt"))
    {
       string line;
       while ((line = reader.ReadLine()) != null && line!=String.Empty)
       {
       var values = line.Split(','); //your data separator, it could be any character

       Entity customEntity = new Entity("entityLogicalName");

       //you should adjust the values according to the data-type on Dynamics CRM e.g
       // customEntity ["revenue"] = new Money(values[0].ToString());


       customEntity ["field1"] = values[0]; 
       customEntity ["field2"] = values[1];
       customEntity ["field3"] = values[2];
       orgService.Create(customEntity);
       }
  }

【讨论】:

    【解决方案2】:

    ImportMap 是 CRM 中的一个实体,而不是 SDK 程序集中的一个类。要编译该示例代码,您需要有一个表示 ImportMap 实体的类,这是 CRM 编程的早期绑定模型。

    您可以在 SDK 的 MyOrganizationCrmSdkTypes.cs 文件中找到 ImportMap 类。将该文件添加到您的项目将为您提供所有现成实体的早期绑定类。或者,您可以使用 CrmSvcUtil(包含在 SDK 中)或第三方工具(例如 Daryl Labar'sXrmToolkit)仅生成 ImportMap 早期绑定类。

    【讨论】: