/// <summary> /// Creates a new <see cref="ParsingScope"/> and puts it on top of the stack. /// </summary> /// <param name="address"></param> /// <returns></returns> public virtual ParsingScope NewScope(RangeAddress address) { ParsingScope scope; if (_scopes.Count() > 0) { scope = new ParsingScope(this, _scopes.Peek(), address); } else { scope = new ParsingScope(this, address); } _scopes.Push(scope); return(scope); }
private void Initialize() { _index = 0; var factory = new RangeAddressFactory(ParsingContext.ExcelDataProvider); if (Arguments.RangeInfo == null) { _rangeAddress = factory.Create(ParsingContext.Scopes.Current.Address.Worksheet, Arguments.RangeAddress); } else { _rangeAddress = factory.Create(Arguments.RangeInfo.Address.WorkSheet, Arguments.RangeInfo.Address.Address); } _currentCol = _rangeAddress.FromCol; _currentRow = _rangeAddress.FromRow; SetCurrentValue(); }
internal IXLTable CopyTo(XLWorksheet targetSheet, bool copyData = true) { if (targetSheet == Worksheet) { throw new InvalidOperationException("Cannot copy table to the worksheet it already belongs to."); } var targetRange = targetSheet.Range(RangeAddress.WithoutWorksheet()); if (copyData) { RangeUsed().CopyTo(targetRange); } else { HeadersRow().CopyTo(targetRange.FirstRow()); } String tableName = Name; var newTable = (XLTable)targetSheet.Table(targetRange, tableName, true); newTable.RelId = RelId; newTable.EmphasizeFirstColumn = EmphasizeFirstColumn; newTable.EmphasizeLastColumn = EmphasizeLastColumn; newTable.ShowRowStripes = ShowRowStripes; newTable.ShowColumnStripes = ShowColumnStripes; newTable.ShowAutoFilter = ShowAutoFilter; newTable.Theme = Theme; newTable._showTotalsRow = ShowTotalsRow; Int32 fieldCount = ColumnCount(); for (Int32 f = 0; f < fieldCount; f++) { var tableField = newTable.Field(f) as XLTableField; var tField = Field(f) as XLTableField; tableField.Index = tField.Index; tableField.Name = tField.Name; tableField.totalsRowLabel = tField.totalsRowLabel; tableField.totalsRowFunction = tField.totalsRowFunction; } return(newTable); }
public override int GetHashCode() { return(RangeAddress.GetHashCode() ^ Worksheet.GetHashCode()); }
public ParsingScope(ParsingScopes parsingScopes, RangeAddress address) : this(parsingScopes, null, address) { }