ABSYZ ABSYZ

  • Home

    Home

  • About us

    Who We Are

  • Our Expertise

    What we Do

  • Our Approach

    How We Do It

  • Products

    What We Made

  • Industries

    Who We Do It For

  • Clients

    Whom We Did It For.

  • Article & Blogs

    What Experts Think

  • Careers

    Join The Team

  • Get In Touch

    Let’s Get Started

ABSYZ

CSV parsing to sObjects

Home / Article & Blogs / Apex / CSV parsing to sObjects
By Team ABSYZ inApex, Salesforce

Suppose there is a requirement to create records from a CSV file without using Data Loader. How it can be achieved ? An apex utility class is used that can read the CSV files row by row and create the required object records.

How this approach is prior to Data Loader ?

Using apex utility class over Data Loader gives more flexibility. Data Loader cannot be scheduled. Multiple CSV files at a time will not work in Data Loader. Mappings are not saved for later similar uploads. One can do all the above processes using Apex utility class.

Step by step process to create this tool

To make this utility tool more reusable, first create two objects named File Format with no custom fields and Upload File Column which is a child of File Format. Upload File Column object has fields as Column Name(text), Column Field Name(picklist) and Column Number(number). Next a custom setting Import Column API Mapping is created to map the column names with the API names. Custom settings has two fields Column Field Name(text) and Column API Name(text).

screen-shot-2017-01-13-at-12-23-38-pm
File Format object

screen-shot-2017-01-13-at-12-27-02-pm
Upload File Column object

Picklist values for the field Column Field Name are the field names of the object which records are being inserted. Example if Account records with the fields Account Name, Billing Address, Phone, Contact and Email are inserted then below will be the picklist values.

screen-shot-2017-01-13-at-12-29-43-pm

Note that picklist values contains the object field names but not the column names of the CSV files. Next is creating custom setting.

screen-shot-2017-01-13-at-12-40-16-pm
Import Column API Mapping custom setting

Now create the class ImportRecordsUtility.cls, the code is posted in GitHub.

Testing the tool

Below is the snapshot of the CSV file that needs to be inserted. The columns names are Name instead of Account Name, Address in place of Billing Address, Mobile which is Phone and Email for Contact Email.

screen-shot-2017-01-13-at-8-05-58-pm

Next create a new File Format record, name being anything, advisable to use the object name followed by the word file format like “Account File Format”. Now create the Upload File Column records. Column Name is same as the name of the columns in the CSV.

screen-shot-2017-01-13-at-12-33-07-pm

Now go to custom setting Import Column API Mapping to map the fields with the API names.

screen-shot-2017-01-13-at-6-05-35-pm

Upload the CSV file as Notes and Attachments to Accounts. Any other object would work as well, just have to query them correctly. Other than Notes and Attachments, it can be used in a visualforce page.

To call the class,

[sourcecode language=”java”]
list<Account> newAccountRecords = ImportRecordsUtility.ImportRecords(‘Account’,’Account File Format’); // call the utility class and pass the parameters as the object name to insert and the file format you are using.
Database.insert(newAccountRecords);
[/sourcecode]

The inserted Accounts are as follows.screen-shot-2017-01-13-at-7-01-13-pm

References:

View code on GitHub.

Apex CSV parser

73
Like this post
127 Posts
Team ABSYZ

Search Posts

Archives

Categories

Recent posts

Meet OmniStudio – Revolutionize Your Creative Work

Meet OmniStudio – Revolutionize Your Creative Work

BioAsia 2023 in Hyderabad: An Annual International Event

BioAsia 2023 in Hyderabad: An Annual International Event

The Role Of Marketing in Small & Medium Enterprises

The Role Of Marketing in Small & Medium Enterprises

Salesforce For Retail: How Salesforce CRM Can Help Retailers

Salesforce For Retail: How Salesforce CRM Can Help Retailers

What is ChatGPT & How Does It Work?

What is ChatGPT & How Does It Work?

  • Previous PostWhat is Enhanced Email ?
  • Next PostCreating a custom search Engine in Salesforce

Related Posts

Meet OmniStudio – Revolutionize Your Creative Work
Salesforce

Meet OmniStudio – Revolutionize Your Creative Work

Salesforce For Retail: How Salesforce CRM Can Help Retailers
Salesforce

Salesforce For Retail: How Salesforce CRM Can Help Retailers

Introduction To Copado Devops Tool
Salesforce

Introduction To Copado Devops Tool

What is Salesforce Code Builder?
Salesforce

What is Salesforce Code Builder?

Leave a Reply (Cancel reply)

Your email address will not be published. Required fields are marked *

*
*

ABSYZ Logo

INDIA | USA | UAE

  • About us
  • Article & Blogs
  • Careers
  • Get In Touch
  • Our Expertise
  • Our Approach
  • Products
  • Industries
  • Clients
  • White Papers

Copyright ©2022 Absyz Inc. All Rights Reserved.

youngsoft
Copy
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “ACCEPT ALL”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent. Privacy Policy
Cookie SettingsREJECT ALLACCEPT ALL
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.

CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.

Functional

Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.

Performance

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Analytics

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.

Advertisement

Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.

Others

Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.

SAVE & ACCEPT