public void GivenNonExistentPath_WhenLoadingExcelData_ItThrows() { var provider = new SheetProvider(new ExcelAdapter()); var excelRange = new ExcelRange(new ExcelCell("A", 1), new ExcelCell("B", 3)); Action result = () => provider.GetFromPath(@"/some/non/existing/file", "my sheet", excelRange); result.Should().Throw <DirectoryNotFoundException>(); }
public ReadSCFile(IMapper mapper, IAppRepository <string> appRepository) { exSheetMapper = new SheetMapper() .AddSheetToObjectConfig(new SlickConfig()); excelSheetAdapter = new SheetProvider(); slickChartFirmNames = new List <SlickChartFirmNames>(); this.mapper = mapper; this.appRepository = appRepository; }
public void GivenExcelFileOnDisk_WhenLoadingExcelData_SheetContainsData() { var provider = new SheetProvider(new ExcelAdapter()); var excelRange = new ExcelRange(new ExcelCell("A", 1), new ExcelCell("B", 3)); var sheet = provider.GetFromPath(TwoColumnsTwoRowsWithHeadersFilePath, "my sheet", excelRange); sheet.Rows.Count.Should().Be(3); sheet.Rows.First().Cells.Count.Should().Be(2); }
public void GivenInvalidBase64EncodedString_WhenLoadingCsvData_ItThrows() { var base64EncodedCsv = "some invalid base64encoded string"; var provider = new SheetProvider(new ExcelAdapter()); var excelRange = new ExcelRange(new ExcelCell("A", 1), new ExcelCell("A", 2)); Action result = () => provider.GetFromBase64Encoded(base64EncodedCsv, "my sheet", excelRange); result.Should().Throw <FormatException>(); }
public void GivenBase64EncodedString_WhenLoadingExcelData_SheetContainsData() { var excelFileBytes = File.ReadAllBytes(TwoColumnsTwoRowsWithHeadersFilePath); var excelFilebase64Encoded = Convert.ToBase64String(excelFileBytes);; var provider = new SheetProvider(new ExcelAdapter()); var excelRange = new ExcelRange(new ExcelCell("A", 1), new ExcelCell("B", 3)); var excelData = provider.GetFromBase64Encoded(excelFilebase64Encoded, "my sheet", excelRange); excelData.Rows.Count.Should().Be(3); excelData.Rows.First().Cells.Count.Should().Be(2); }
public void ExportRandomColBook() { var file1 = new FileInfo("./files/xlsx/查岗12_05.xlsx"); var outFilePath = "./files/xlsx/查岗_test1.xlsx"; if (File.Exists(outFilePath)) { File.Delete(outFilePath); } var outFile = new FileInfo(outFilePath); int targetCol = 1; int targetSheetIndex = 1; Sheet sheet = null; bool headTitle = false; string colName = null; List <object> dataList = new List <object>(); using (ExcelPackage package = new ExcelPackage(file1)) { var worksheet = package.Workbook.Worksheets[targetSheetIndex]; var sp = new SheetProvider(worksheet, headTitle); sheet = sp.Get(targetCol); dataList = sheet.Rows.Select(t => t.Identity).ToList(); if (headTitle) { colName = sheet.Columns[targetCol].Name; } } using (ExcelPackage package = new ExcelPackage(outFile)) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1"); int length = dataList.Count, rowIndex = 1; if (headTitle) { worksheet.Cells[rowIndex, 1].Value = sheet.Columns[targetCol - 1].Name; rowIndex++; } for (int i = 1; i <= length; i++, rowIndex++) { worksheet.Cells[rowIndex, 1].Value = GetRandomFromList(dataList); } package.Save(); } }
public void GivenAStream_WhenLoadingCsvData_SheetContainsData() { using (var fileStream = new FileStream(TwoColumnsTwoRowsWithHeadersFilePath, FileMode.Open)) { using (var sr = new StreamReader(fileStream, Encoding.UTF8, false, 1024, true)) { var provider = new SheetProvider(new ExcelAdapter()); var excelRange = new ExcelRange(new ExcelCell("A", 1), new ExcelCell("B", 3)); var csvData = provider.GetFromStream(sr.BaseStream, "my sheet", excelRange); csvData.Rows.Count.Should().Be(3); csvData.Rows.First().Cells.Count.Should().Be(2); } } }
public void GivenALargeNumberOfRows_WhenLoadingDataWithoutStopping_ReturnsMaxNumberOfRows(bool stopOnEmptyRow, int expectedCount) { int max_number_of_excel_rows = 1048576; using (var fileStream = new FileStream(TwoColumnsTwoRowsWithHeadersFilePath, FileMode.Open)) { using (var sr = new StreamReader(fileStream, Encoding.UTF8, false, 1024, true)) { var provider = new SheetProvider(new ExcelAdapter()); var excelRange = new ExcelRange(new ExcelCell("A", 1), new ExcelCell("B", max_number_of_excel_rows)); var csvData = provider.GetFromStream(sr.BaseStream, "my sheet", excelRange, stopOnEmptyRow); csvData.Rows.Count.Should().Be(expectedCount); csvData.Rows.First().Cells.Count.Should().Be(2); } } }