Hi rajendra, The request flow is like this. UI--->ReportServlet------->Service Class----------->Generate report. This flow is common for all the reports. From UI request is going to ReportServlet where am deciding which jrxml to load and set all required things to send them to database. In Service class am setting all the report column header names as parameters which am going to retrieve in jasper. And the GenerateReport class will set required properties like IS_IGNORE_CELL_BORDER, IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, IS_ONE_PAGE_PER_SHEET etc. This Generate report class is common for all the reports. So i cant add the code here to set sheet name. The only option i have is to send the sheet name as parameter(like column headers) and make use of it in jasper by using "net.sf.jasperreports.export.xls.sheet.names.all" property. But problem am facing here is "How can i set a parameter value(sheet name which is sent dynamically from java side to jasper) to a property like net.sf.jasperreports.export.xls.sheet.names.all". As per my requirement i dont have an option to set the sheet name in the java side.