有人能告诉我如何安排以csv格式导出salesforce报告吗

有人能告诉我如何安排以csv格式导出salesforce报告吗,salesforce,Salesforce,我有一份sales force报告,我想每天安排csv格式的报告,以便用户收到带有此附件的邮件。您可以使用以下代码安排报告 global class ExporterCSV implements System.Schedulable { global void execute(SchedulableContext sc) { List<Merchandise__c> acclist = [Select id , name , CreatedDate , lastModifiedDat

我有一份sales force报告,我想每天安排csv格式的报告,以便用户收到带有此附件的邮件。

您可以使用以下代码安排报告

global class ExporterCSV implements System.Schedulable {
global void execute(SchedulableContext sc) {
List<Merchandise__c> acclist = [Select id , name , CreatedDate , lastModifiedDate from Merchandise__c limit 10];
string header = 'Record Id , Name , Created Date , Modified Date \n';
string finalstr = header ;
for(Merchandise__c a: acclist)
{
   string recordString = a.id + ',' + a.Name + ',' + a.CreatedDate + ',' + a.LastModifiedDate + '\n';
   finalstr = finalstr + recordString;
}
Messaging.EmailFileAttachment csvAttc = new Messaging.EmailFileAttachment();
blob csvBlob = Blob.valueOf(finalstr);
string csvname= 'Invoice.csv';
csvAttc.setFileName(csvname);
csvAttc.setBody(csvBlob);
Messaging.SingleEmailMessage email =new Messaging.SingleEmailMessage();
String[] toAddresses = new list<string> {'test@salesforce.com'};
String subject = 'Merchandise Report CSV';
email.setSubject(subject);
email.setToAddresses( toAddresses );
email.setPlainTextBody('The Merchandise report is attached here.');
email.setFileAttachments(new Messaging.EmailFileAttachment[]{csvAttc});
Messaging.SendEmailResult [] r = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {email});
  }
}
全局类ExporterCSV实现System.Schedulable{
全局无效执行(SchedulableContext sc){
List acclist=[从商品中选择id、名称、CreatedDate、lastModifiedDate\uu c limit 10];
字符串头='记录Id、名称、创建日期、修改日期\n';
字符串finalstr=标题;
对于(商品:会计清单)
{
string recordString=a.id+,“+a.Name+”,“+a.CreatedDate+”,“+a.LastModifiedDate+”\n';
finalstr=finalstr+recordString;
}
Messaging.EmailFileAttachment csvAttc=新建Messaging.EmailFileAttachment();
blob csvBlob=blob.valueOf(最终值);
字符串csvname='Invoice.csv';
csvAttc.setFileName(csvname);
csvAttc.setBody(csvBlob);
Messaging.SingleEmailMessage email=新建消息。SingleEmailMessage();
字符串[]toAddresses=新列表{'test@salesforce.com'};
字符串主题='商品报告CSV';
email.setSubject(主题);
email.setToAddresss(ToAddresss);
email.setPlainTextBody('商品报告附于此处');
email.setFileAttachments(新消息.emailFileAttachments[]{csvAttc});
Messaging.sendmailresult[]r=Messaging.sendmail(new Messaging.SingleEmailMessage[]{email});
}
}

我在Kevindotcar那里找到了一个解决方案:


涉及自定义对象、visualforce页面、visualforce电子邮件模板、可调度类和工作流。但是看起来相当整洁,没有太多代码。

如果您想要导出真实的报告(而不是查询结果),请检查