Лучший способ сохранить DataSet в файл CSV - PullRequest
1 голос
/ 11 января 2012

У меня есть несколько запросов SQL, которые мне нужны, чтобы записать результаты в файл CSV.

В настоящее время я сохраняю результаты в наборе данных.

Каков наилучший способ сохранить каждую таблицу (используя определяемое пользователем имя файла) как отдельный файл CSV?

Я использую C #.

Ответы [ 4 ]

3 голосов
/ 11 января 2012

Вы можете преобразовать набор данных в файл CSV следующим образом:

Фрагмент кода:

StringBuilder str = new StringBuilder();
foreach (DataRow dr in this.NorthwindDataSet.Customers) 
{
 foreach (object field in dr.ItemArray) 
 {
   str.Append(field.ToString + ",");
 }
 str.Replace(",", vbNewLine, str.Length - 1, 1);
}

try 
{
 My.Computer.FileSystem.WriteAllText("C:\\temp\\testcsv.csv", str.ToString, false);
} 
catch (Exception ex) 
{
 MessageBox.Show("Write Error");
}

Надеюсь, это поможет!Ура! * * 1006

1 голос
/ 11 января 2012

Я использую http://www.filehelpers.com в любое время, когда мне нужно экспортировать в CSV.

0 голосов
/ 19 мая 2019

Вы можете перебирать DataSet (таблицы, строки, поля)

C # Пример:

        StringBuilder str = new StringBuilder();
        foreach (DataTable dt in tempDataDS.Tables)
        {
            foreach (DataRow item in dt.Rows)
            {
                foreach (object field in item.ItemArray)
                {
                    str.Append(field.ToString() + ",");
                }
                str.Replace(",", Environment.NewLine, str.Length - 1, 1);
            }
        }
        try
        {
            File.AppendAllText("C:\\temp\\tempData.csv", str.ToString(), Encoding.UTF8);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error while writing content to csv file. \nException details: {0}", ex.ToString());
        }
0 голосов
/ 11 января 2012

SQL Server может экспортировать в CSV самостоятельно, посмотрите на

http://sqlserverpedia.com/blog/sql-server-2005/how-can-i-export-data-to-csv-format-in-sql-server-2005/

Редактировать: Это решение не очень терпимо к символам, которые нужно экранировать в CSV,Потребовалось пару минут, чтобы написать тест на взлом.Другими словами, используйте с осторожностью.

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