Tuesday, February 3, 2015

Creating a CSV file from salesforce and sending through the Email

List<Account> lstAccount = [Select id,Name,CreatedDate from Account limit 10];
string header = 'Id, Name , Created Date \n';
string finalstr = header ;
for(Account acc: lstAccount)
{
       string recordString = '"'+acc.id+'","'+acc.Name+'","'+acc.CreatedDate+'"\n';
       finalstr = finalstr +recordString;
}

Messaging.EmailFileAttachment sendCsv = new Messaging.EmailFileAttachment();
blob csvBlob = Blob.valueOf(finalstr);
string fileName= 'Accounts.csv';
sendCsv.setFileName(fileName);
sendCsv.setBody(csvBlob);
Messaging.SingleEmailMessage email =new Messaging.SingleEmailMessage();
String[] toAddresses = new list<string> {'test@gmail.com'};
email.setSubject('Accounts');
email.setToAddresses( toAddresses );
email.setPlainTextBody('Accounts');
email.setFileAttachments(new Messaging.EmailFileAttachment[]{sendCsv});
Messaging.SendEmailResult [] r = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {email});

2 comments :

  1. I have one customer button in salesforce. When i would click on it, I want to download cvs on local. Is it possible?

    ReplyDelete
  2. Hi,

    You can download the csv file. Please find the below link to download the csv file

    http://sfdcintegration.blogspot.in/2015/10/download-csv-file-using-visual-force.html

    ReplyDelete

Labels

visualforce page ( 13 ) apex integration ( 5 ) apex trigger ( 4 ) csv file from vf page ( 4 ) javascript ( 4 ) csv visualforce page ( 3 ) Too many ( 2 ) call out ( 2 ) integration ( 2 ) rest api ( 2 ) salesforce rest api ( 2 ) salesforce to salesforce integration ( 2 ) sfdc rest api ( 2 ) trigger ( 2 ) 15 digit to 18 digit ( 1 ) DML rows in Apex ( 1 ) Date Conversion ( 1 ) Date/Time conversion ( 1 ) Deploy ( 1 ) Objects to Future Annotated Methods ( 1 ) SFDC limits ( 1 ) Sobject to Future Annotated Methods ( 1 ) Test Class ( 1 ) TimeZone Conversion ( 1 ) Too many dml rows ( 1 ) Too many future calls ( 1 ) annotations ( 1 ) apex code ( 1 ) closed opportunities ( 1 ) commit ( 1 ) convert ( 1 ) create records ( 1 ) csv create records ( 1 ) custom setting ( 1 ) deployment ( 1 ) deployment changeset ( 1 ) disable apex class ( 1 ) disable apex trigger ( 1 ) disable in production ( 1 ) document ( 1 ) download ( 1 ) field name ( 1 ) formula fields ( 1 ) iframe ( 1 ) inactive ( 1 ) intellisense ( 1 ) jsforce ( 1 ) limits ( 1 ) matrix report in vf page ( 1 ) multi select ( 1 ) multi select salesforce ( 1 ) multiselect ( 1 ) paypal ( 1 ) picklist ( 1 ) record type ( 1 ) rollback ( 1 ) salesforce limits ( 1 ) salesforce list ( 1 ) salesforce map ( 1 ) salesforce rest ( 1 ) salesforce set ( 1 ) salesforce1 ( 1 ) sandbox deployment ( 1 ) sfdc collection ( 1 ) sfdc list ( 1 ) sfdc map ( 1 ) sfdc rest ( 1 ) sfdc set ( 1 ) uncommitted ( 1 ) updated field ( 1 ) user ( 1 ) validation rule opportunity ( 1 ) validation rules opportunities ( 1 ) vf page ( 1 )

Ad