Пример #1
0
 public async Task Issue7_Import_EmptyLine()
 {
     var fileUrl = Path.Combine(CurrentDir, "Resources/Bugs", "issue7.xlsx");
     await Assert.ThrowsAsync <OfficeEmptyLineException>(async() =>
     {
         try
         {
             var workbook = await ImportService.ImportAsync <Issue7>(new ImportOptions()
             {
                 FileUrl          = fileUrl,
                 SheetIndex       = 1,
                 DataRowIndex     = 3,
                 HeaderRowIndex   = 2,
                 EnabledEmptyLine = true
             });
             var result = workbook.GetResult <Issue7>();
             Output.WriteLine(result.ToJson());
         }
         catch (OfficeEmptyLineException e)
         {
             Output.WriteLine(e.ToJson());
             throw;
         }
     });
 }
Пример #2
0
        public async Task Purchase_Import_IncludeTax()
        {
            //预计到货日期 日期格式 有问题
            var fileUrl2  = Path.Combine(CurrentDir, "Resources/Purchase", "采购订单导入模板_含税单价2.xlsx");
            var workbook2 = await ImportService.ImportAsync <ImportPurchaseOrderIncludeTax>(new ImportOptions()
            {
                FileUrl                  = fileUrl2,
                SheetIndex               = 0,
                DataRowIndex             = 1,
                HeaderRowIndex           = 0,
                EnabledEmptyLine         = false,
                IgnoreEmptyLineAfterData = true,
            });

            var result2 = workbook2.GetResult <ImportPurchaseOrderIncludeTax>();

            Output.WriteLine(result2.ToJson());

            var fileUrl  = Path.Combine(CurrentDir, "Resources/Purchase", "采购订单导入模板_含税单价.xlsx");
            var workbook = await ImportService.ImportAsync <ImportPurchaseOrderIncludeTax>(new ImportOptions()
            {
                FileUrl                  = fileUrl,
                SheetIndex               = 0,
                DataRowIndex             = 1,
                HeaderRowIndex           = 0,
                EnabledEmptyLine         = false,
                IgnoreEmptyLineAfterData = true,
            });

            var result = workbook.GetResult <ImportPurchaseOrderIncludeTax>();

            Output.WriteLine(result.ToJson());
        }
Пример #3
0
        public async Task Issue3_ExceptionConvertError()
        {
            var fileUrl  = Path.Combine(CurrentDir, "Resources/Bugs", "issue3.xlsx");
            var workbook = await ImportService.ImportAsync <Issue3>(new ImportOptions()
            {
                FileUrl        = fileUrl,
                SheetIndex     = 0,
                DataRowIndex   = 3,
                HeaderRowIndex = 2,
            });

            Assert.Throws <OfficeDataConvertException>(() =>
            {
                try
                {
                    var result = workbook.GetResult <Issue3>();
                }
                catch (OfficeDataConvertException e)
                {
                    Assert.Equal(5, e.RowIndex);
                    Assert.Equal(2, e.ColumnIndex);
                    Assert.Equal("调拨数量", e.Name);
                    Output.WriteLine(e.ToJson());
                    throw;
                }
            });
        }
Пример #4
0
        public async Task Issue9_Import_Trim()
        {
            var fileUrl  = Path.Combine(CurrentDir, "Resources/Bugs", "issue9.xlsx");
            var workbook = await ImportService.ImportAsync <Issue9>(new ImportOptions()
            {
                FileUrl        = fileUrl,
                SheetIndex     = 0,
                DataRowIndex   = 1,
                HeaderRowIndex = 0,
            });

            var result = workbook.GetResult <Issue9>();

            Output.WriteLine(result.ToJson());
        }
Пример #5
0
        public async Task Issue7_Import_EmptyLine_Skip()
        {
            var fileUrl  = Path.Combine(CurrentDir, "Resources/Bugs", "issue7.xlsx");
            var workbook = await ImportService.ImportAsync <Issue7>(new ImportOptions()
            {
                FileUrl          = fileUrl,
                SheetIndex       = 1,
                DataRowIndex     = 3,
                HeaderRowIndex   = 2,
                EnabledEmptyLine = false
            });

            var result = workbook.GetResult <Issue7>();

            Output.WriteLine(result.ToJson());
        }
Пример #6
0
 public async Task Issue2_InitCelSoMuch()
 {
     var fileUrl = Path.Combine(CurrentDir, "Resources/Bugs", "issue2.xlsx");
     await Assert.ThrowsAsync <OfficeException>(async() =>
     {
         var workbook = await ImportService.ImportAsync <Issue2>(new ImportOptions()
         {
             FileUrl        = fileUrl,
             SheetIndex     = 0,
             DataRowIndex   = 3,
             HeaderRowIndex = 2,
         });
         var result = workbook.GetResult <Issue2>();
         Output.WriteLine(result.ToJson());
     });
 }
Пример #7
0
        public async Task Issue5_ValidateFail_ReturnRealLocation_With_HeaderRowIndex()
        {
            var fileUrl  = Path.Combine(CurrentDir, "Resources/Bugs", "issue5.xlsx");
            var workbook = await ImportService.ImportAsync <Issue5>(new ImportOptions
            {
                FileUrl        = fileUrl,
                SheetIndex     = 0,
                DataRowIndex   = 1,
                HeaderRowIndex = 0,
            });

            var validateResult = workbook.Validate().ToList();

            Assert.True(validateResult.Any());
            Assert.Equal(4, validateResult[0].RowIndex);
            Output.WriteLine(validateResult.ToJson());
        }
Пример #8
0
        public async Task Issue8_Import_DateTimeParser()
        {
            var fileUrl  = Path.Combine(CurrentDir, "Resources/Bugs", "issue8.xlsx");
            var workbook = await ImportService.ImportAsync <Issue8>(new ImportOptions()
            {
                FileUrl        = fileUrl,
                SheetIndex     = 0,
                DataRowIndex   = 1,
                HeaderRowIndex = 0,
            });

            var result = workbook.GetResult <Issue8>();

            result.ForEach(x =>
            {
                Output.WriteLine(DateTime.Parse(x.CreateTime).ToString());
            });
            Output.WriteLine(result.ToJson());
        }
Пример #9
0
        public async Task Issue1_DecimalConvException()
        {
            var fileUrl  = Path.Combine(CurrentDir, "Resources/Bugs", "issue1.xlsx");
            var workbook = await ImportService.ImportAsync <Issue1>(new ImportOptions()
            {
                FileUrl = fileUrl,
            });

            Assert.Throws <OfficeDataConvertException>(() =>
            {
                try
                {
                    var result = workbook.GetResult <Issue1>();
                }
                catch (OfficeDataConvertException e)
                {
                    Assert.Equal(5, e.RowIndex);
                    Assert.Equal(1, e.ColumnIndex);
                    Assert.Equal("值", e.Name);
                    Output.WriteLine(e.ToJson());
                    throw;
                }
            });
        }
Пример #10
0
 public async Task Test_That_ImportService_ImportAsync_Throws_NotImplementedException()
 {
     Assert.ThrowsExceptionAsync <NotImplementedException>(() => _importService.ImportAsync());
 }