我想从 Dataset 生成多个不同的 .csv 文件(里面有很多表)
我试过如下但不知道生成不同 csv 的代码。
public string GenerateCSVfiles(List<DataSet> dataSets)
{
//create csv file
foreach (DataRow row in dataTable.Rows)
{
for (int i = 0; i < dataTable.Columns.Count; i++)
{
result.Append(row[i].ToString());
result.Append(i == dataTable.Columns.Count - 1 ? "\n" : ",");
}
}
return result.ToString();
}
//return Files in .zip;
}
最佳答案
试试这个代码:csv 文件名是使用数据表名称生成的:
public void GenerateCSVfiles(DataSet dataSets)
{
//create csv file
StreamWriter sw = null;
StringBuilder sb = new StringBuilder();
foreach (DataTable dataTable in dataSets.Tables)
{
sw = new StreamWriter(string.Format(@"C:\Temp\{0}.csv", dataTable.TableName));
for (int i = 0; i < dataTable.Rows.Count; i++)
{
sb.Clear();
for (int j = 0; j < dataTable.Columns.Count; j++)
{
sb.Append(dataTable.Rows[i][j]);
if (j != (dataTable.Columns.Count - 1)) sb.Append(",");
}
sw.WriteLine(sb.ToString());
}
sw.Close();
}
}
关于c# - 如何从具有多个表的数据集中生成多个 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24568999/