我有一些SQL查询需要将结果写入CSV文件。
我目前正在将结果存储在DataSet中。
将每个表(使用用户定义的文件名)保存为自己的CSV文件的最佳方法是什么?
我正在使用C#。
答案 0 :(得分:3)
您可以将数据集转换为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");
}
希望这有帮助! 干杯!
答案 1 :(得分:1)
我需要导出到CSV时随时使用http://www.filehelpers.com。
答案 2 :(得分:0)
SQL Server可以自己导出到csv,看看
编辑:这个解决方案对于需要在csv中转义的字符不是很宽容,花了几分钟来编写破解测试。换句话说,请谨慎使用。
答案 3 :(得分:0)
您可以遍历数据集(表,行,字段)
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());
}