+ Start a Discussion
samita das 7samita das 7 

Fetch Report Data in Apex Class

I am fetching Standard Report in Apex class using Page reference and sending email to users having Report as excel in attachment . 
I am getting the Report in standard format . But is there any way to exclude the header and footer from the report . Please check the attached file for reference. How can I exclude row 1-14 and Grand Total records from Report.User-added imageUser-added image
Raj VakatiRaj Vakati
You need to uuse apex report API to do this once

Refer this link and sample code

https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_analytics_filter_reports.htm
 
// Get the report ID
List <Report> reportList = [SELECT Id,DeveloperName FROM Report where 
    DeveloperName = 'Closed_Sales_This_Quarter'];
String reportId = (String)reportList.get(0).get('Id');

// Get the report metadata
Reports.ReportDescribeResult describe = Reports.ReportManager.describeReport(reportId);
Reports.ReportMetadata reportMd = describe.getReportMetadata();

// Override filter and run report
Reports.ReportFilter filter = reportMd.getReportFilters()[0];
filter.setValue('2013-11-01');
Reports.ReportResults results = Reports.ReportManager.runReport(reportId, reportMd);
Reports.ReportFactWithSummaries factSum = 
    (Reports.ReportFactWithSummaries)results.getFactMap().get('T!T');
System.debug('Value for November: ' + factSum.getAggregates()[0].getLabel());

// Override filter and run report
filter = reportMd.getReportFilters()[0];
filter.setValue('2013-10-01');
results = Reports.ReportManager.runReport(reportId, reportMd);
factSum = (Reports.ReportFactWithSummaries)results.getFactMap().get('T!T');
System.debug('Value for October: ' + factSum.getAggregates()[0].getLabel());