///// <summary>Gets all the cells that contain's |V>|.</summary> ///// <param name="data">The data.</param> ///// <returns></returns> //public List<string> Compile_DownLeftCells(ExcelData_ data) //{ // return Find(data, "|V>|", enExcelCompare.Equal, enExcelFindReturnValue.CellAddress); // //var result = new List<string>(); // //var rowNo = 1; // //foreach (List<string> row in data.Rows) // //{ // // var colNo = 1; // // foreach (string cell in row) // // { // // if (cell == "|V>|") // // { // // var address = CellAddress(colNo, rowNo, false); // Todo: fix this macro to do everything // // result.Add(address); // // } // // colNo++; // // } // // rowNo++; // //} // //return result; //} /// <summary>Finds the first occurance.</summary> /// <param name="data">The data.</param> /// <param name="result">The result.</param> /// <param name="findValue">The find value.</param> /// <param name="compare">The compare formula to use.</param> /// <param name="returnType">Type of the return.</param> /// <returns></returns> public bool Find_First(pcExcelData_ data, out string result, string findValue = "|->", enExcel_Compare compare = enExcel_Compare.Contains, enExcel_FindReturnValue returnType = enExcel_FindReturnValue.CellValue) { result = ""; var findList = Find(data, findValue, compare, returnType); if (findList.Count == 0) { return(false); } result = findList[0]; return(true); }
/// <summary>Get the Reference point.</summary> /// <param name="data">The data.</param> /// <param name="findValue">The find value.</param> /// <param name="compare">The compare formula to use.</param> /// <param name="returnType">Specify what should be returned.</param> /// <returns></returns> public List <string> Find(pcExcelData_ data, string findValue = "|->", enExcel_Compare compare = enExcel_Compare.Contains, enExcel_FindReturnValue returnType = enExcel_FindReturnValue.CellValue) { var result = new List <string>(); int rowNo = 1; foreach (List <string> row in data.Rows) { var colNo = 1; foreach (string item in row) { bool found = false; if (compare == enExcel_Compare.Contains) { if (item.Contains(findValue)) { found = true; } } else if (item == findValue) { found = true; } if (found) { if (returnType == enExcel_FindReturnValue.CellValue) { result.Add(item); } else { result.Add(CellAddress(colNo, rowNo)); } } colNo++; } rowNo++; } return(result); }
/// <summary>Finds the first occurance.</summary> /// <param name="result">The result.</param> /// <param name="findValue">The find value.</param> /// <param name="compare">The compare.</param> /// <param name="returnType">Type of the return.</param> /// <returns></returns> public bool Find_First(out string result, string findValue = "|->", enExcel_Compare compare = enExcel_Compare.Contains, enExcel_FindReturnValue returnType = enExcel_FindReturnValue.CellValue) { return(_lamed.lib.Excel.Adress.Find_First(this, out result, findValue, compare, returnType)); }
public List <string> Find(string findValue = "|->", enExcel_Compare compare = enExcel_Compare.Contains, enExcel_FindReturnValue returnType = enExcel_FindReturnValue.CellValue) { return(_lamed.lib.Excel.Adress.Find(this, findValue, compare, returnType)); }
/// <summary>Compares two data sheets and return the differences.</summary> /// <param name="inputFile">The file input.</param> /// <param name="inputSheet">The input sheet.</param> /// <param name="resultFile">The result file.</param> /// <param name="resultSheet">The result sheet.</param> /// <param name="returnValue">The return value.</param> /// <returns></returns> public List <string> CompareDataSheet(string inputFile, string inputSheet, string resultFile, string resultSheet, enExcel_FindReturnValue returnValue = enExcel_FindReturnValue.CellAddress) { pcExcelData_ input1 = ExcelFile_LoadAsExcelData(inputFile, inputSheet); pcExcelData_ result1 = ExcelFile_LoadAsExcelData(resultFile, resultSheet); return(_lamed.lib.Excel.Data.CompareDataSheet(input1, result1)); }
/// <summary>Compares two data sheets and return the differences.</summary> /// <param name="input1">The input1.</param> /// <param name="result1">The result1.</param> /// <param name="returnValue">The return value.</param> /// <returns></returns> public List <string> CompareDataSheet(pcExcelData_ input1, pcExcelData_ result1, enExcel_FindReturnValue returnValue = enExcel_FindReturnValue.CellAddress) { var result = new List <string>(); var rowNo = 1; foreach (List <string> row in input1.Rows) { var colNo = 1; foreach (string value in row) { var resultValue = result1.Value_Get(colNo, rowNo); if (value != resultValue) { var address = _lamed.lib.Excel.Adress.CellAddress(colNo, rowNo); var valueDiff = $"Value '{value}' != '{resultValue}'"; switch (returnValue) { case enExcel_FindReturnValue.CellAddress: result.Add(address); break; case enExcel_FindReturnValue.CellValue: result.Add(valueDiff); break; case enExcel_FindReturnValue.CellAddressAndValue: result.Add(address + " -> " + valueDiff); break; default: throw new Exception($"Argument '{nameof(returnValue)}' error."); } } colNo++; } rowNo++; } return(result); }