public WorkbookContainer Parse(IWorkbook workbook)
        {
            WorkbookContainer workbookContainer = new WorkbookContainer();

            foreach (ISheet sheet in workbook)
            {
                foreach (IRow row in sheet)
                {
                    foreach (ICell cell in row)
                    {
                        if (cell.Value is string)
                        {
                            foreach (var parameterName in PARAMETER_PARSER.Parse(cell.GetStringValue()))
                            {
                                workbookContainer.Sheets[sheet.SheetName].Parameters[parameterName].Append(new Location(cell.RowIndex, cell.ColumnIndex));
                            }

                            foreach (var tagName in REPEATER_START_PARSER.Parse(cell.GetStringValue()))
                            {
                                workbookContainer.Sheets[sheet.SheetName].Repeaters[tagName].Start = new Location(cell.RowIndex, cell.ColumnIndex);
                            }

                            foreach (var tagName in REPEATER_END_PARSER.Parse(cell.GetStringValue()))
                            {
                                workbookContainer.Sheets[sheet.SheetName].Repeaters[tagName].End = new Location(cell.RowIndex, cell.ColumnIndex);
                            }
                        }
                    }
                }
            }

            return(workbookContainer);
        }
 public WorkbookContext(IWorkbook workbook)
 {
     _workbook          = workbook;
     _workbookContainer = TEMPLATE_PARSER.Parse(workbook);
 }