首页 > 解决方案 > CSV 文件到 DataTable 到 SQL Server

问题描述

我正在尝试.CSV在 C# 应用程序中读取 2 个单独的文件并将它们批量复制到 SQL Server 中。我在网上搜索了很多,但似乎没有找到一个简单可行的解决方案。

这些文件非常大(大约 50000 行和 15-20 列)。

我正在尝试使用 CsvHelper 库来读取文件。当我尝试读取 csv 文件时,这是我收到的错误消息:“CsvHelper.TypeConversion.TypeConverterException:无法执行转换。文本:'ASPH-G' MemberType: System.Double TypeConverter:'CsvHelper.TypeConversion.双转换器'"

我该如何解决这个问题。我正在展示我的 Runway 课程,以及用于阅读下面文件的代码。我能做些什么不同的事情?

public class Runway
    {
        [Index(0)]
        public int RunwayId { get;set; }
        [Index(1)]
        public int AirportId { get; set; }
        [Index(7)]
        public int RunwayStatus { get; set; }
        [Index(8)]
        public string LEId {get;set;}
        [Index(9)]
        [Optional]

        public double? LELatitude {get; set;}
        [Index(10)]
        [Optional]
        public double? LELongitude {get; set;}
        [Index(14)]
        public string HEId {get; set;}
        [Index(15)]
        [Optional]
        public double? HELatitude {get;set;}
        [Index(16)]
        [Optional]
        public double? HELongitude {get;set;}

        public Airport Airport { get; set; }


    }

读取文件的代码:

var config = new CsvHelper.Configuration.Configuration
                {
                    HasHeaderRecord = true,
                    HeaderValidated = null,
                    MissingFieldFound = null,
                    IgnoreBlankLines = false
                };


                using (var reader = new StreamReader ("../runways.csv"))
                using (var csv = new CsvReader(reader, config))
                {
                    var runways = csv.GetRecords<Runway>().ToList();
                }

如何在 CsvHelper 中使用 typeconverter 来使其正常工作?

标签: asp.netasp.net-coreasp.net-core-webapi

解决方案


推荐阅读