2014-12-04 64 views
0

我试图阅读以下csv文件:C#中的FileUpload读csv文件转换成目标

Column1,Column2,Column3 
MyData1,MyData2,MyData3 
MyData11,MyData22,MyData33 

之前,我有文件存储在本地,我会读它到我的对象是这样的:

字符串路径= myPath;

var content = File.ReadAllLines(path) 
        .Skip(1) 
        .Select(x => x.Split(',')) 
        .Select(x => new MyObject 
        { 
         Column1= x[0], 
         Colum2= x[1], 
         Column3 = x[2] 
        }); 

这对我很好。但是,现在我需要使用文件上传控件选择文件,然后从所选文件中读取。我不知道如何完成上面的同样的事情。有任何想法吗?

+0

这并不难..你至少尝试过FileUpload控件谷歌搜索有关于这样做吨的工作实例。也这是一个'的WinForms || WebForms'应用程序..? [FileUpload Class](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload%28v=vs.110%29.aspx)如果你想看看如何解析一个'.CSV'文件也在这里检查我以前的帖子[解析CSV文件](http://stackoverflow.com/questions/24088989/how-to-read-csv-file-splitting-by-commas-except-if-其部分字段) – MethodMan 2014-12-04 18:56:34

+0

我希望你认识到,一旦你允许文件被上传,你的代码将不得不考虑到不良数据的可能性。例如,如果一行不包含至少三列,或者某人上传的文件不是CSV,那么上面的代码会崩溃而非常可怕。 – 2014-12-04 19:03:32

+0

@JimMischel我明白这一点,谢谢。我只是处于发展的初步阶段。一旦我可以从文件中获取数据,我会担心其他事情。 – AspUser7724 2014-12-04 19:17:12

回答

0

这是我们在这个链接中解释的。 您可以将其转换为数据表,如链接所示。 Creating a DataTable from CSV File

+0

没有必要发布一个答案,这只是一个重复问题的链接。只需将原始问题标记为重复。 – 2014-12-05 01:00:55