我将为我母亲的发票创建CSV导入,因此我创建了一个读取CSV文件的界面,对于CSV中的每一行,List<List<string>>.
现在的值是以下问题:
ABC; 1300; Customer 1; Product1; Product Description; 0; 0; 0
ABC; 1300; Customer 1; Product2; Product Description; 1; 2; 0
第二个值是发票号,4-5个值是发票“行”。 我真的不知道如何解决这个问题,所有与第二行相同的行都通过相同的文件。也许你可以帮忙吗?
答案 0 :(得分:1)
按照这个答案,它应该解决你的问题
class invoice
{
public String field0, field2, field3, field4;
public int field1, field5, field6, field7;
}
private void Form1_Load(object sender, EventArgs e)
{
List<invoice> invoiceList = new List<invoice>();
var reader = new StreamReader(File.OpenRead("invoice.csv"));
while (!reader.EndOfStream)
{
String line = reader.ReadLine();
String[] values = line.Split(';');
invoice inv = new invoice();
inv.field0 = values[0];
inv.field1 = int.Parse(values[1]);
inv.field2 = values[2];
inv.field3 = values[3];
inv.field4 = values[4];
inv.field5 = int.Parse(values[5]);
inv.field6 = int.Parse(values[6]);
inv.field7 = int.Parse(values[7]);
invoiceList.Add(inv);
}
reader.Close();
}
只需根据你的标题更改变量名称,下次请做HW :)说实话,我的答案只是因为你帮助你的妈妈
顺便说一句,CSV文件中的字段由,
而不是;
分隔(CSV = C omma S eparated V < / strong> alues),请参阅this。