2013-04-16 70 views
0

我正在写一个小型应用程序,它将通过FTP下载.csv文件,并以特定格式将其读入Excel。阅读LINQ结果

我在这个网站上找到了下面的LINQ代码片段,它将把.csv文件读入var'csv'。问题是,我似乎无法弄清楚如何枚举var'csv'到字符串数组中(然后我将使用它填充相关的Excel单元格)。

任何人都可以帮忙吗?谢谢,加文

var lines = File.ReadAllLines(lblShowFileName.Text).Select(a => a.Split(',')); 
var csv = from line in lines select (from piece in line select piece); 
+0

为什么不直接使用COM Interop对象在Excel中打开CSV文件,然后将文件另存为XLS或XLS X?我不相信你需要通过任何收集来枚举来做到这一点,Excel会照顾到这一点。 –

+0

你在寻找一个2维数组吗? – code4life

回答

1

使用ToArray()扩展方法来产生string[]代替IEnumerable<string>

var csv = (from line in lines 
      select (from piece in line 
        select piece).ToArray()).ToArray(); 

因为你打电话ToArray()两次 - 内部和外部的查询中,您csv变量将是一个字符串jagged arraystring[][]

+0

完美,谢谢。 –