Ejemplo n.º 1
0
 public static Task ParsingSheet_UseTask(this TypeData pSheet, ISheetConnector pConnector, delOnParsingText OnParsingTextLine)
 {
     return(pConnector.ISheetConnector_GetSheetData_Async(pSheet.strSheetName).
            ContinueWith(p => _ParsingSheet(OnParsingTextLine, p.Result)));
 }
Ejemplo n.º 2
0
        public static void ParsingSheet(this TypeData pSheet, ISheetConnector pConnector, delOnParsingText OnParsingTextLine)
        {
            IList <IList <Object> > pData = pConnector.ISheetConnector_GetSheetData(pSheet.strSheetName);

            if (pData == null)
            {
                return;
            }

            _ParsingSheet(OnParsingTextLine, pData);
        }
Ejemplo n.º 3
0
        private static void _ParsingSheet(delOnParsingText OnParsingTextLine, IList <IList <object> > pData)
        {
            if (OnParsingTextLine == null) // For Loop에서 Null Check 방지
            {
                OnParsingTextLine = (a, b, c, d) => { }
            }
            ;

            HashSet <int> setIgnoreColumnIndex = new HashSet <int>();
            bool          bIsParsingStart      = false;

            for (int i = 0; i < pData.Count; i++)
            {
                bool           bIsIgnoreRow = false;
                IList <object> listRow      = pData[i];
                for (int j = 0; j < listRow.Count; j++)
                {
                    if (setIgnoreColumnIndex.Contains(j))
                    {
                        continue;
                    }

                    string strText = (string)listRow[j];
                    if (string.IsNullOrEmpty(strText))
                    {
                        continue;
                    }

                    if (strText.StartsWith(const_strCommandString))
                    {
                        bool bIsContinue = false;
                        if (strText.Contains(const_strIgnoreString_Column))
                        {
                            setIgnoreColumnIndex.Add(j);
                            bIsContinue = true;
                        }

                        if (bIsParsingStart == false)
                        {
                            if (strText.Contains(const_strStartString))
                            {
                                bIsParsingStart = true;
                                bIsContinue     = true;
                            }
                        }

                        if (bIsIgnoreRow == false && strText.Contains(const_strIgnoreString_Row))
                        {
                            bIsContinue  = true;
                            bIsIgnoreRow = true;
                        }

                        if (bIsContinue)
                        {
                            continue;
                        }
                    }

                    if (bIsIgnoreRow)
                    {
                        continue;
                    }

                    if (bIsParsingStart == false)
                    {
                        continue;
                    }

                    OnParsingTextLine(listRow, strText, i, j);
                }
            }
        }
Ejemplo n.º 4
0
        static public void ParsingSheet(this TypeData pSheet, SpreadSheetConnector pConnector, delOnParsingText OnParsingText)
        {
            const string const_strCommandString       = "#";
            const string const_strIgnoreString_Row    = "R";
            const string const_strIgnoreString_Column = "C";
            const string const_strStartString         = "Start";

            if (pConnector == null)
            {
                return;
            }

            IList <IList <Object> > pData = pConnector.GetExcelData(pSheet.strSheetName);

            if (pData == null)
            {
                return;
            }

            if (OnParsingText == null) // For Loop에서 Null Check 방지
            {
                OnParsingText = (a, b, c, d) => { }
            }
            ;

            HashSet <int> setIgnoreColumnIndex = new HashSet <int>();
            bool          bIsParsingStart      = false;

            for (int i = 0; i < pData.Count; i++)
            {
                bool           bIsIgnoreRow = false;
                IList <object> listRow      = pData[i];
                for (int j = 0; j < listRow.Count; j++)
                {
                    if (setIgnoreColumnIndex.Contains(j))
                    {
                        continue;
                    }

                    string strText = (string)listRow[j];
                    if (string.IsNullOrEmpty(strText))
                    {
                        continue;
                    }

                    if (strText.StartsWith(const_strCommandString))
                    {
                        bool bIsContinue = false;
                        if (strText.Contains(const_strIgnoreString_Column))
                        {
                            setIgnoreColumnIndex.Add(j);
                            bIsContinue = true;
                        }

                        if (bIsParsingStart == false)
                        {
                            if (strText.Contains(const_strStartString))
                            {
                                bIsParsingStart = true;
                                bIsContinue     = true;
                            }
                        }

                        if (bIsIgnoreRow == false && strText.Contains(const_strIgnoreString_Row))
                        {
                            bIsContinue  = true;
                            bIsIgnoreRow = true;
                        }

                        if (bIsContinue)
                        {
                            continue;
                        }
                    }

                    if (bIsIgnoreRow)
                    {
                        continue;
                    }

                    if (bIsParsingStart == false)
                    {
                        continue;
                    }

                    OnParsingText(listRow, strText, i, j);
                }
            }
        }