我有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
我有的文件路径:字符串文件; 你有什么想法吗?
答案 0 :(得分:1)
如果你确定这是格式,并且实际值中永远不会有;
,那么你可以使用快速而肮脏的方法:
foreach(String line in File.ReadAllLines(path).Skip(1))
{
String[] columns = line.Split(';');
String amount = columns[0];
String P_price = columns[1];
//etc
}
答案 1 :(得分:0)
请尝试使用以下链接,并告诉我任何帮助
http://www.mssqltips.com/sqlservertutorial/203/simple-way-to-import-data-into-sql-server/
答案 2 :(得分: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
)
答案 3 :(得分:0)
干 - 不要重复自己 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");