CSV文件到Salesforce记录

时间:2018-10-02 18:59:28

标签: web-services base64 salesforce apex

我有一个自定义对象Employee,下面有字段。员工数据保存在外部系统中,该外部系统通过调用Web服务来发送csv提取的base64编码的字符串。

我能够使用EncodingUtil.base64Decode()来解码字符串。我的问题是如何从Salesforce自定义对象中的已解码base64字符串准备插入。

enter image description here

String File = 'U25vLE5hbWUsTGFzdCBOYW1lLEVtcCBJZCxKb2IgRnVuY3Rpb24NCjEsU2FjaGluLENob3VyYXNpeWEsMzMwLEJ1c2luZXNzDQoyLFJhamF0ICxTYXhlbmEgLDMzNCxGdW5jdGlvbmFsDQo=';
String myFile = EncodingUtil.base64Decode(file).toString();
System.debug('Sachin'+'['+ myFile + ']');

调试日志 enter image description here

1 个答案:

答案 0 :(得分:1)

我自己找到了答案。请看看并提供反馈。

String File = 'U25vLE5hbWUsTGFzdCBOYW1lLEVtcCBJZCxKb2IgRnVuY3Rpb24NCjEsU2FjaGluLENob3VyYXNpeWEsMzMwLEJ1c2luZXNzDQoyLFJhamF0ICxTYXhlbmEgLDMzNCxGdW5jdGlvbmFsDQo=';
String myFile = EncodingUtil.base64Decode(file).toString();
System.debug('Sachin'+'['+ myFile + ']');
List<String> EmployeeList = new List<String>();
EmployeeList = myFile.split('\n');

List<Employee__c> employeeInsertList = new List<Employee__c>();

for (String employee : EmployeeList)
{
    List<String> fields = new List<String>();
    fields = employee.split(',');
    Employee__c empRecord = new Employee__c();

    empRecord.LastName__c = fields[2];
    empRecord.Name = fields[1];
    empRecord.EmpId__c = fields[3];
    empRecord.Job_Function__c = fields[4];
    employeeInsertList.add(empRecord); 

}
System.debug('Employee List is '+employeeInsertList);
insert employeeInsertList;