2013-04-16 3 views
0

Я пишу небольшое приложение, которое будет загружать CSV-файл через FTP и читать его в 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

Почему бы не открыть CSV с помощью Excel напрямую с помощью объектов COM-взаимодействия, а затем сохранить файл в виде XLS или XLS ИКС? Я не верю, что вам нужно перечислить любую коллекцию, чтобы сделать это, Excel позаботится об этом. –

+0

Вы ищете двухмерный массив? – code4life

ответ

1

Используйте метод ToArray() расширения для создания string[] вместо IEnumerable<string>

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

Потому что вы звоните ToArray() дважды - в пределах внутреннего и внешнего запроса, ваша csv переменная будет jagged array строк: string[][]

+0

Отлично, спасибо. –

Смежные вопросы