static void ConvertExcelToJson(string excelFilePath, string exportDir) { using (var excelFile = new FileStream(excelFilePath, FileMode.Open, FileAccess.Read)) { var excelLoader = new ExcelLoader(excelFile); while (excelLoader.HasSheetToRead()) { var excelSheet = excelLoader.LoadNextSheet(); var sheetFileName = $"{GetNameFromPath(excelFile.Name)}.{excelSheet.Name}.json"; using (var jsonFile = new FileStream($"{exportDir}/{sheetFileName}", FileMode.Create, FileAccess.Write)) { using (var streamWriter = new StreamWriter(jsonFile)) { var collectionToJsonConverter = new CollectionToJsonConverter(excelSheet.Properties); streamWriter.Write(collectionToJsonConverter.CreateJSONLiteral(excelSheet.Sheet)); } Console.WriteLine($"Exported: {jsonFile.Name}"); } } } }
public void JSON_객체생성_테스트() { var properties = new List <string> { "1", "2", "3" }; var data = new List <string> { "가", "나", "다" }; var collectionToJsonConverter = new CollectionToJsonConverter(properties); Assert.AreEqual( "{\n" + " \"1\": \"가\",\n" + " \"2\": \"나\",\n" + " \"3\": \"다\"\n" + "}", collectionToJsonConverter.CreateJSONObject(data)); }
public void JSON_리터럴생성_테스트() { var properties = new List <string> { "1", "2", "3" }; var data = new List <List <string> > { new List <string> { "가", "나", "다" }, new List <string> { "라", "마", "바" }, new List <string> { "사", "아", "자" }, }; var collectionToJsonConverter = new CollectionToJsonConverter(properties); Assert.AreEqual( "{\n" + " \"Data\": [\n" + " {\n" + " \"1\": \"가\",\n" + " \"2\": \"나\",\n" + " \"3\": \"다\"\n" + " },\n" + " {\n" + " \"1\": \"라\",\n" + " \"2\": \"마\",\n" + " \"3\": \"바\"\n" + " },\n" + " {\n" + " \"1\": \"사\",\n" + " \"2\": \"아\",\n" + " \"3\": \"자\"\n" + " }\n" + " ]\n" + "}", collectionToJsonConverter.CreateJSONLiteral(data)); }