如何从具有多个表的数据集生成多个csv文件

本文关键字:数据集 csv 文件 | 更新日期: 2023-09-27 18:11:37

我想从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文件

试试下面的代码: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();
    }
}