Добавить вывод в конце файла - Как? - PullRequest
0 голосов
/ 07 марта 2012

Следующий код выводит результат в файл CSV. Допустим, в 'valueDataList' есть 10 значений ... Когда это выполняется, в файл выводится только одна строка. Как я могу перебрать код для печати файла для всех значений «сразу» в «valueDataList».

   foreach (var value in valueDataList)

    {
        var value1 = xxxxxxx    // this value is set here based on a query.. 
        int value2 = xxxxxxxx   // this value is set here based on a query.. 

        byte[] content;

        using (var ms = new MemoryStream())  
           {
              using (var writer = new StreamWriter(ms))
                {
                  writer.WriteLine("ValueHeading1   " + " ValueHeading2");
                  writer.WriteLine(value1 + "              " + value2);                         
                }
                  content = ms.ToArray();
                  return File(content, "text/csv", "demo.csv");
           }
    }   

По сути, я хочу иметь возможность добавлять к существующему CSV-файлу на каждой итерации цикла. Как я могу это сделать? спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Вы хотите записать все строки из valueDataList в csv-файл? Если так;

using (var ms = new MemoryStream())  
using (var writer = new StreamWriter(ms))
{
    writer.WriteLine("ValueHeading1   " + " ValueHeading2");

    foreach (var value in valueDataList)
    {
        var value1 = xxxxxxx    // this value is set here based on a query.. 
        int value2 = xxxxxxxx   // this value is set here based on a query.. 

        writer.WriteLine(value1 + "              " + value2);                         
    }   

    byte[] content = ms.ToArray();
    return File(content, "text/csv", "demo.csv");
}
0 голосов
/ 07 марта 2012

Как насчет File.AppendText(...)?

Я искал это для справки:

http://www.4guysfromrolla.com/articles/072303-1.2.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...