-1

我有这样的csv文件(文件)和文件结构:

Amount;P_price;Ean;Number;Name;DPH;certifikate;o1;o2;ZC
0;168,00;8806333394584;E1347;MISSHA Gel;21;106;0002;0001;290
0;156,80;8806336488488;E1357;MISSHA Lotion;21;106;0002;0001;271
0;123,20;8806584752571;E1367;MISSHA Mist;21;106;0002;0001;213

我想在没有第一个的情况下加载所有行,其中我有列的名称...我想将这些值保存到 sql 表中...我知道我如何写入 sql,但我需要知道如何从每个行中加载值行到这个变量:

Amount
P_price
Ean
Number
Name
DPH
certifikate
o1
o2
ZC

我进入的文件路径:字符串文件;你有什么想法吗?

4

4 回答 4

1

如果您确定这是格式并且实际值中永远不会有任何格式;,那么您可以使用一种快速而肮脏的方法:

foreach(String line in File.ReadAllLines(path).Skip(1))
{
    String[] columns = line.Split(';');
    String amount = columns[0];
    String P_price = columns[1];
    //etc
}
于 2013-11-12T13:04:22.683 回答
0

in sql server

BULK INSERT [dbo].[csv]
        FROM 'C:\Users\...' --file path
        WITH
        (
        FIRSTROW = 2,
        FIELDTERMINATOR = ',',  --CSV field delimiter
        ROWTERMINATOR = '\n',   --Use to shift the control to next row
        ERRORFILE = 'C:\Users\file\...',
        TABLOCK
        )
于 2013-11-12T13:06:08.163 回答
0

请尝试以下链接,让我知道任何帮助需要

http://www.mssqltips.com/sqlservertutorial/203/simple-way-to-import-data-into-sql-server/

于 2013-11-12T13:03:55.357 回答
0

DRY - 不要重复自己 http://www.filehelpers.com/将帮助您处理 csv 文件

例子:

CSV 文件:

10248|VINET|04071996|32.38
10249|TOMSP|05071996|11.61
10250|HANAR|08071996|65.83
10251|VICTE|08071996|41.34
...............

数据传输对象:

[DelimitedRecord("|")]
public class Orders
{
    public int OrderID;

    public string CustomerID;

    [FieldConverter(ConverterKind.Date, "ddMMyyyy")]
    public DateTime OrderDate;

    public decimal Freight;
}

读者:

FileHelperEngine<Orders> engine = new FileHelperEngine<Orders>(); 

// to Read use: 
Orders[] res = engine.ReadFile("TestIn.txt"); 

然后: 用法

为你:

[DelimitedRecord(";")]
[IgnoreFirst(1)] 
public class RootObject
{
    public string Amount { get; set; }
    public string P_price { get; set; }
    public object Ean { get; set; }
    public string Number { get; set; }
    public string Name { get; set; }
    public int DPH { get; set; }
    public int certifikate { get; set; }
    public int o1 { get; set; }
    public int o2 { get; set; }
    public int ZC { get; set; }
}

FileHelperEngine<Orders> engine = new FileHelperEngine<RootObject>(); 

// to Read use: 
Orders[] res = engine.ReadFile("TestIn.txt"); 
于 2013-11-12T13:09:53.007 回答