private ITemplateFile ExportToTemplateFile(string reportName, IEnumerable <string> columnNames, IEnumerable <IEnumerable <object> > contentList) { var templateFile = new TemplateFile(); var sheet = templateFile.CreateTemplateSheetDataStore(reportName, 1); //Create data rows with associated column names to be fed into the sheet. var dataRows = new List <Dictionary <string, object> >(); foreach (var content in contentList) { var dataRow = new Dictionary <string, object>(); for (var i = 0; i < columnNames.Count(); i++) { var colName = columnNames.ElementAt(i).ToLower(); object value = content.ElementAtOrDefault(i); dataRow[colName] = value; } dataRows.Add(dataRow); } sheet.WriteColumnNames(columnNames); sheet.WriteDataRows(dataRows); return(templateFile); }