diff --git a/Server/Git/ExcelManager.cs b/Server/Git/ExcelManager.cs index 0618cc7..7d861df 100644 --- a/Server/Git/ExcelManager.cs +++ b/Server/Git/ExcelManager.cs @@ -1,4 +1,5 @@ using Aspose.Cells; +using Microsoft.AspNetCore.Http; using NLog; namespace Server.Git @@ -14,10 +15,10 @@ namespace Server.Git public List variable { get { return _variable; } } List _type; public List type { get { return _type; } } - Dictionary> _dicViewer; - public Dictionary> dicViewer { get { return _dicViewer; } } + Dictionary> _dicViewer; + public Dictionary> dicViewer { get { return _dicViewer; } } - public sheet(string name, List variable, List type, Dictionary> dicViewer) + public sheet(string name, List variable, List type, Dictionary> dicViewer) { this._name = name; this._variable = variable; @@ -58,7 +59,7 @@ namespace Server.Git List variable = new List(); //변수 타입 List type = new List(); - Dictionary> dicViewer = new Dictionary>(); + Dictionary> dicViewer = new Dictionary>(); // 인덱스를 사용하여 워크시트 가져오기 Worksheet worksheet = collection[worksheetIndex]; @@ -70,33 +71,20 @@ namespace Server.Git //변수 이름과 타입 삽입 for (int n = 0; n <= horizontal; n++) { - // Console.Write(worksheet.Cells[i, j].Value + " | "); variable.Add((string)worksheet.Cells[0, n].Value); type.Add(((string)worksheet.Cells[2, n].Value).ToLower()); } + bool isIndex = variable[0] == "index"; + for (int n = 3; n <= vertical; n++) { - List dataList = new List(); + Dictionary dataList = new Dictionary(); for (int m = 0; m <= horizontal; m++) { - switch (type[m]) - { - case "enum": - case "int": - dataList.Add(worksheet.Cells[n, m].Value); - break; - case "string": - case "text": - case "time": - dataList.Add(worksheet.Cells[n, m].Value); - break; - default: - Console.WriteLine("알수없는 타입의 메세지 입니다."); - break; - } + dataList.Add(variable[m], worksheet.Cells[n, m].Value); } - dicViewer.Add(n, dataList); + dicViewer.Add((int)(isIndex ? worksheet.Cells[n, 0].Value : n - 3), dataList); } sheet sheet = new sheet(worksheet.Name, variable, type, dicViewer); _sheets.Add(sheet); @@ -111,4 +99,4 @@ namespace Server.Git return true; } } -} +} \ No newline at end of file diff --git a/Server/Git/XlsxToJson.cs b/Server/Git/XlsxToJson.cs index 2d9a96f..a2efcac 100644 --- a/Server/Git/XlsxToJson.cs +++ b/Server/Git/XlsxToJson.cs @@ -1,4 +1,7 @@ -namespace Server.Git +using Newtonsoft.Json; +using System.Collections.Generic; + +namespace Server.Git { public class XlsxToJson : AbstractGit { @@ -14,15 +17,13 @@ if (em.Play()) { List sheets = em.sheets; - - foreach (KeyValuePair> sheet in sheets[0].dicViewer) + Dictionary>> sheetList = new Dictionary>>(); + for (int n = 0; n < sheets.Count; n++) { - foreach (object obj in sheet.Value) - { - //이것을 기반으로 서버 테이블을 생성뒤 데이터를 세팅 - //Console.WriteLine(obj); - } + sheetList.Add(sheets[n].name, sheets[n].dicViewer); } + string test = JsonConvert.SerializeObject(sheetList); + Console.WriteLine(test); } else { @@ -38,4 +39,4 @@ } } -} +} \ No newline at end of file diff --git a/Server/obj/Debug/net6.0/Server.dll b/Server/obj/Debug/net6.0/Server.dll index 8d36b78..027c75c 100644 Binary files a/Server/obj/Debug/net6.0/Server.dll and b/Server/obj/Debug/net6.0/Server.dll differ diff --git a/Server/obj/Debug/net6.0/Server.pdb b/Server/obj/Debug/net6.0/Server.pdb index a82e0ce..d446981 100644 Binary files a/Server/obj/Debug/net6.0/Server.pdb and b/Server/obj/Debug/net6.0/Server.pdb differ diff --git a/Server/obj/Debug/net6.0/ref/Server.dll b/Server/obj/Debug/net6.0/ref/Server.dll index 4730a47..880925f 100644 Binary files a/Server/obj/Debug/net6.0/ref/Server.dll and b/Server/obj/Debug/net6.0/ref/Server.dll differ diff --git a/Server/obj/Debug/net6.0/refint/Server.dll b/Server/obj/Debug/net6.0/refint/Server.dll index 4730a47..880925f 100644 Binary files a/Server/obj/Debug/net6.0/refint/Server.dll and b/Server/obj/Debug/net6.0/refint/Server.dll differ