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 기본_동작_테스트() { using (var fileStream = new FileStream("mockupData.xlsx", FileMode.Open, FileAccess.Read)) { var excelLoader = new ExcelLoader(fileStream); var firstSheet = excelLoader.LoadNextSheet(); var secondSheet = excelLoader.LoadNextSheet(); // NOTE @sleepyrainyday 200216: 3번째 시트는 없으므로 null Assert.IsNull(excelLoader.LoadNextSheet()); AreEqual(firstSheetProperties, firstSheet.Properties); AreEqual(firstSheetExpected, firstSheet.Sheet); AreEqual(secondSheetProperties, secondSheet.Properties); AreEqual(secondSheetExpected, secondSheet.Sheet); } }