27-05-2016 04:02 PM
The current excel render dosen't take care of sub-datasets even though they show up in the xml of the report content.
Is there a way to override the current Excel render and write our own? If not then where is the code for the current excel render? Below are the details:
The Analysis Report
When it is exported to Excel it does not display values for the items in the sub dataset.
In order to display the icons in the cell we created out own render. Below is a code snipit.
Adding sub dataset to parent with render
Dataset subSet = null;
if (reportType.equals(ReportType.FM_MODELING_SCORE_CARD)) {
subSet = c.calculateObjectiveIndicatorForProject(obj, objectsByMetaClass, excluded);
} else {
subSet = c.calculateObjectiveIndicatorForObject(obj, describing_diagrams, excluded);
}
if (subSet != null) {
int indicatorId = reportContent.addDataset(subSet);
View indicatorView = new View(indicatorId, false, true);
indicatorView.addRenderer(INDICATOR_RENDER);
dataset.addItem(indicatorView, (x + 1) + "," + y);
} else {
Text item = new Text("", false);
dataset.addItem(item, (x + 1) + "," + y);
}
Creating the sub-dataset.
percentage = deliverables.getPercentageCompleteForObject(obj);
String indicatorId = getIndicatorId(percentage);
if (!indicatorId.equals("")) {
MegaObject i = root.getObjectFromID(indicatorId);
subSet.addItem(new MegaObjectProperty(i.megaField(), "~Z20000000D60[Short Name]"), "1,1");
isApplicable = true;
i.release();
return subSet;
}else if(percentage == -1){
subSet.addItem(new Text("N/A", false), "1,1");
isApplicable = false;
return subSet;
}