private IDataCoordWriter GetCoords(IDataAliasWriter dataAliasWriters) { var pos = spreadSheetHandler.GetPosition(dataAliasWriters); if (pos == null) { return(null); } return(new DataCoordWriter(dataAliasWriters) { ColIndex = pos.ColIndex, RowIndex = pos.RowIndex, SheetName = pos.SheetName }); }
/// <summary> /// Devuelve el dato con las coordenadas cargadas. /// Devuelve Nulo si no encuentra la ubicación. /// </summary> /// <param name="data"></param> /// <returns></returns> public IDataCoordWriter GetPosition(IDataAliasWriter data) { var sheetCoords = sLDocument.GetDefinedNameText(data.Alias); var sheetName = String.IsNullOrEmpty(sheetCoords) ? null : sheetCoords.Split('!')[0]; var colRow = String.IsNullOrEmpty(sheetCoords) ? null : sheetCoords.Split('!')[1].Split('$').Where(x => !string.IsNullOrEmpty(x)).ToArray(); if (sheetName == null && colRow == null) { return(null); } //TODO[Mejora] Utilizar esta funcion --> SLDocument.WhatIsRowColumnIndex return(new DataCoordWriter(data) { ColIndex = char.ToUpper(colRow[0][0]) - 64, RowIndex = Int32.Parse(colRow[1].ToString()), SheetName = sheetName }); }