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))); }
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); }
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); } } }
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); } } }