refactor excelreport