/// <summary> /// Builds the Min-Max DataTable. /// </summary> /// <returns>A DataTable representing all the QuickBooks Data to be written to the Min-Max Doc.</returns> public DataTable Analyze() { if (!excelDoc.excelObjSet) { excelDoc.SetExcelObjects(); } if (excelDoc.excelObjSet) { Log.WriteLine("...Analyzing Part Numbers..."); IQuickBooksData itemDataTable = new ItemDataTable(); IQuickBooksData salesOrderDataTable = new SODataTable(); excelDoc.InStreamData(); itemDataTable.BuildTable(); salesOrderDataTable.BuildTable(); minMaxDt = new DataTable().BuildTable(salesOrderDataTable, itemDataTable, excelDoc.partNumList); excelDoc.Write(minMaxDt); return(minMaxDt); } else { Log.WriteLine("Cannot Access Min-Max Document."); return(new DataTable()); } }
public void PolySOTest() { QuickBooksDataTable soTable = new SODataTable(); soTable.BuildTable(); soTable.Write(@"\\msw-fp1\user$\wchan\Documents\Visual Studio 2015\Projects\InventoryManagementApp\InventoryManagementApp\bin\Debug\Test\\PolySO.csv"); }
public void PolyMinMaxTest() { QuickBooksDataTable itemTable = new ItemDataTable(); QuickBooksDataTable soTable = new SODataTable(); itemTable.BuildTable(); soTable.BuildTable(); using (excelDoc = new ExcelDoc()) { excelDoc.Open(); excelDoc.InStreamData(); excelDoc.Close(); DataTable minMaxDt = new DataTable().BuildTable(soTable, itemTable, excelDoc.partNumList); minMaxDt.Write(@"\\msw-fp1\user$\wchan\Documents\Visual Studio 2015\Projects\InventoryManagementApp\InventoryManagementApp\bin\Debug\Test\PolyMinMax.csv"); } }
static bool ReadExcelFile(string excelPath, string prefabPath) { GameObject basicTableInstance = null; lastMsg = string.Empty; try { Excel itemData = ExcelHelper.LoadExcel(excelPath); if (itemData == null) { return(false); } List <ExcelTable> itemDataTable = itemData.Tables; string prefabFilePath = prefabPath + "/SODataTable.asset"; ScriptableObject soDataTableSO = (ScriptableObject)AssetDatabase.LoadAssetAtPath(prefabFilePath, typeof(ScriptableObject)); if (soDataTableSO == null) { soDataTableSO = ScriptableObject.CreateInstance <SODataTable>(); AssetDatabase.CreateAsset(soDataTableSO, prefabFilePath); soDataTableSO.hideFlags = HideFlags.NotEditable; } SODataTable soDataTable = (SODataTable)soDataTableSO; foreach (var obj in soDataTable.soDataInfoList1) { DestroyImmediate(obj, true); } foreach (var obj in soDataTable.soDataInfoList2) { DestroyImmediate(obj, true); } soDataTable.soDataInfoList1.Clear(); soDataTable.soDataInfoList2.Clear(); if (itemDataTable.Count > 0) { for (int i = 0; i < itemDataTable.Count; i++) { if (itemDataTable[i].TableName == "Sheet1") { int indexColumn = 0; int stringValueColumn = 0; int intValueColumnColumn = 0; int floatValueColumn = 0; for (int column = 1; column <= itemDataTable[i].NumberOfColumns; column++) { if (Convert.ToString(itemDataTable[i].GetValue(1, column)) == "Index") { indexColumn = column; } if (Convert.ToString(itemDataTable[i].GetValue(1, column)) == "StringValue") { stringValueColumn = column; } if (Convert.ToString(itemDataTable[i].GetValue(1, column)) == "IntValue") { intValueColumnColumn = column; } if (Convert.ToString(itemDataTable[i].GetValue(1, column)) == "FloatValue") { floatValueColumn = column; } } for (int row = 2; row <= itemDataTable[i].NumberOfRows; row++) { if (Convert.ToString(itemDataTable[i].GetValue(row, indexColumn)).Equals("")) { continue; } int index = Convert.ToInt32(itemDataTable[i].GetValue(row, indexColumn)); string stringValue = Convert.ToString(itemDataTable[i].GetValue(row, stringValueColumn)); int intValue = Convert.ToInt32(itemDataTable[i].GetValue(row, intValueColumnColumn)); float floatValue = Convert.ToSingle(itemDataTable[i].GetValue(row, floatValueColumn)); SODataInfo soDataInfo = ScriptableObject.CreateInstance <SODataInfo>(); soDataInfo.index = index; soDataInfo.stringValue = stringValue; soDataInfo.intValue = intValue; soDataInfo.floatValue = floatValue; AssetDatabase.AddObjectToAsset(soDataInfo, soDataTableSO); soDataInfo.name = string.Format("SODataInfo{0}", index); soDataTable.soDataInfoList1.Add(soDataInfo); } } else if (itemDataTable[i].TableName == "Sheet2") { int indexColumn = 0; int stringValueColumn = 0; int intValueColumnColumn = 0; int floatValueColumn = 0; for (int column = 1; column <= itemDataTable[i].NumberOfColumns; column++) { if (Convert.ToString(itemDataTable[i].GetValue(1, column)) == "Index") { indexColumn = column; } if (Convert.ToString(itemDataTable[i].GetValue(1, column)) == "StringValue") { stringValueColumn = column; } if (Convert.ToString(itemDataTable[i].GetValue(1, column)) == "IntValue") { intValueColumnColumn = column; } if (Convert.ToString(itemDataTable[i].GetValue(1, column)) == "FloatValue") { floatValueColumn = column; } } for (int row = 2; row <= itemDataTable[i].NumberOfRows; row++) { if (Convert.ToString(itemDataTable[i].GetValue(row, indexColumn)).Equals("")) { continue; } int index = Convert.ToInt32(itemDataTable[i].GetValue(row, indexColumn)); string stringValue = Convert.ToString(itemDataTable[i].GetValue(row, stringValueColumn)); int intValue = Convert.ToInt32(itemDataTable[i].GetValue(row, intValueColumnColumn)); float floatValue = Convert.ToSingle(itemDataTable[i].GetValue(row, floatValueColumn)); SODataInfo soDataInfo = new SODataInfo(); soDataInfo.index = index; soDataInfo.stringValue = stringValue; soDataInfo.intValue = intValue; soDataInfo.floatValue = floatValue; AssetDatabase.AddObjectToAsset(soDataInfo, soDataTableSO); soDataInfo.name = string.Format("SODataInfo{0}", index); soDataTable.soDataInfoList2.Add(soDataInfo); } } } AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); EditorUtility.SetDirty(soDataTableSO); lastMsg = "Succeeded import data to prefab file : " + prefabFilePath; } else { lastMsg = "Result : Fail. Reason : Data was not found."; } return(true); } catch (Exception e) { UnityEngine.Debug.Log(e.Message); lastMsg = "Result : fail\nMessage : " + e.Message; return(false); } finally { if (basicTableInstance != null) { DestroyImmediate(basicTableInstance); } } }