Home SALESFORCEAPEX How can I export a report as a CSV/Excel file and send the report as Email Attachement using Apex Class?

How can I export a report as a CSV/Excel file and send the report as Email Attachement using Apex Class?

We can send the Salesforce report as csv/excel file with Email attachment using below code:

public class SendReportWithAttachement {
public static void sendEmail() {

ApexPages.PageReference report = new ApexPages.PageReference(‘/00ON0000000avK3?csv=1’);
Messaging.EmailFileAttachment attachment = new Messaging.EmailFileAttachment();
attachment.setFileName(‘report.csv’);
attachment.setBody(report.getContent());
attachment.setContentType(‘text/csv’);

Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
message.setFileAttachments(new Messaging.EmailFileAttachment[] { attachment } );
message.setSubject(‘Report’);
message.setPlainTextBody(‘The report is attached.’);
message.setToAddresses( new String[] { ‘[email protected]’ } );
Messaging.sendEmail( new Messaging.SingleEmailMessage[] { message } );

}
}

You may also like

Leave a Comment