Esempio n. 1
0
        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
            });
        }
Esempio n. 2
0
        /// <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
            });
        }