Beispiel #1
0
        public async Task StudentInfoAndPaymentLogImporter_Test()
        {
            var filePath  = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "Import", "学生基础数据及缴费流水号导入.xlsx");
            var importDic = await Importer.ImportMultipleSheet <ImportStudentAndPaymentLogDto>(filePath);

            foreach (var item in importDic)
            {
                var import = item.Value;
                import.ShouldNotBeNull();
                if (import.Exception != null)
                {
                    _testOutputHelper.WriteLine(import.Exception.ToString());
                }

                if (import.RowErrors.Count > 0)
                {
                    _testOutputHelper.WriteLine(JsonConvert.SerializeObject(import.RowErrors));
                }
                import.HasError.ShouldBeTrue();
                import.Data.ShouldNotBeNull();
                if (item.Key == "1班导入数据")
                {
                    import.Data.Count.ShouldBe(16);
                    ImportStudentDto dto = (ImportStudentDto)import.Data.ElementAt(0);
                    dto.Name.ShouldBe("杨圣超");
                }
                if (item.Key == "缴费数据")
                {
                    import.Data.Count.ShouldBe(20);
                    ImportPaymentLogDto dto = (ImportPaymentLogDto)import.Data.ElementAt(0);
                    dto.Name.ShouldBe("刘茵");
                }
            }
        }
        public async Task ClassStudentInfoImporter_SaveLabelingError_Test()
        {
            var filePath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "Import",
                                        "学生基础数据及缴费流水号导入_标注错误.xlsx");

            var importDic = await Importer.ImportMultipleSheet <ImportStudentAndPaymentLogDto>(filePath);

            foreach (var item in importDic)
            {
                var import = item.Value;
                import.ShouldNotBeNull();
                if (import.Exception != null)
                {
                    _testOutputHelper.WriteLine(import.Exception.ToString());
                }

                if (import.RowErrors.Count > 0)
                {
                    _testOutputHelper.WriteLine(JsonConvert.SerializeObject(import.RowErrors));
                }

                import.Data.ShouldNotBeNull();
                if (item.Key == "1班导入数据")
                {
                    import.Data.Count.ShouldBe(16);
                    ImportStudentDto dto = (ImportStudentDto)import.Data.ElementAt(0);
                    dto.Name.ShouldBe("杨圣超");
                }

                if (item.Key == "缴费数据")
                {
                    import.HasError.ShouldBeTrue();
                    import.Data.Count.ShouldBe(20);
                    ImportPaymentLogDto dto = (ImportPaymentLogDto)import.Data.ElementAt(0);
                    dto.Name.ShouldBe("刘茵");
                }
            }

            var ext = Path.GetExtension(filePath);
            var labelingErrorExcelPath = filePath.Replace(ext, "_" + ext);

            if (File.Exists(labelingErrorExcelPath))
            {
                _testOutputHelper.WriteLine($"保存标注错误Excel文件已生成,路径:{labelingErrorExcelPath}");
            }
        }