繁体   English   中英

导入 CSV 文件并读取特定行 VB.NET ASPX ASP.NET Z9778840A01001CB30C982876TABLE74

[英]Importing a CSV file and reading specific lines VB.NET ASPX ASP.NET SQL DATATABLE

本质上,我想导入一个 csv 文件,该文件包含应存储在数据表中的数据,然后存储到 SQL 中。 我还想在导入数据表之前检查所有必需的列是否已输入到 csv 文件中

我该怎么做 go?

谢谢

将所有行读入变量,如果你有一个 header 作为 CSV 的第一行,解析它并创建数据表列,接下来你可以简单地将新行添加到数据表中。 如果需要,请指定一个分隔符。

Dim FileToExtract as FileInfo = nothing; 'load a file info    
Dim CSVDivider As String = ";"
Dim EncodingType As Encoding = Nothing
Dim lines = File.ReadAllLines(FileToExtract.FullName, If(EncodingType Is Nothing, Encoding.GetEncoding("utf-8"), EncodingType))
Dim cols As String() = (New Regex(CSVDivider)).Split(lines.First)
             
For i As integer = 0 To cols.Length - 1
    dt.Columns.Add(New DataColumn(If(CSVTrim <> "", cols(i).Trim(CSVTrim), cols(i)), If(dtColumnsType IsNot Nothing, dtColumnsType.Item(cols(i).Trim(CSVTrim)), GetType(String))))
Next
        
For Each line In lines.Skip(1)
    Dim objFields = From field In (New Regex(CSVDivider)).Split(line)
                    Select If(CSVTrim <> "", field.Trim(CSVTrim), field)
    Dim newRow = dt.Rows.Add()
    newRow.ItemArray = objFields.ToArray()
Next

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM