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 } );
}
}