public CommonWorkSheet GetTemplateSheet(MemoryStream templateFile) { try { var sheet = new CommonWorkSheet(); var templateWorkPart = SpreadsheetDocument.Open(templateFile, false).WorkbookPart; sheet.Sheet = templateWorkPart.WorksheetParts.First().Worksheet; #region build defined names sheet.DefinedNames = BuildDefinedNamesTable(templateWorkPart, 0); #endregion return(sheet); } catch (Exception ex) { return(null); } }
private void FillObject <T>(T container, WorkbookPart workbookPart, CommonWorkSheet templateSheet) where T : class, new() { #region Fill Single cell foreach (var item in templateSheet.DefinedNames.Where(n => !n.IsRange)) { SetObjValue <T>(container, item, workbookPart); } #endregion #region Fill Range cells foreach (var item in templateSheet.DefinedNames.Where(n => n.IsRange)) { var startRow = item.StartRow; var count = FillRangeObjs(container, item, workbookPart); if (count > 0) { foreach (var c in templateSheet.DefinedNames.Where(n => Convert.ToInt32(n.StartRow) > Convert.ToInt32(startRow))) { c.ShiftRows(count); } } } #endregion }