首页 > 解决方案 > 如何将数据表转换成这样的csv格式

问题描述

在此处输入图像描述

我想将我的数据表转换成这种 csv 格式。如果有人知道如何做到这一点,请帮助我

这是我尝试过的。

  StringBuilder data = new StringBuilder();
            for (int row = 0; row < dataTable.Rows.Count; row++)
            {
                data.Append(Environment.NewLine);
                data.Append(dataTable.Rows[row]["Group"]);
                data.Append(Environment.NewLine);

                for (int column = 0; column < dataTable.Columns.Count; column++)
                {
                   

                    if (column == dataTable.Columns.Count - 1)
                        data.Append(dataTable.Rows[row][column].ToString().Replace(",", ";"));
                    else
                        data.Append(dataTable.Rows[row][column].ToString().Replace(",", ";") + ',');
                }

}

标签: c#.net

解决方案


我想你有这样的数据表列:TN_USERNAME | TN_NAME | TN_USERTYPE | CH_USERNAME | ...

StringBuilder data = new StringBuilder();

//add header for csv file in string builder object (column names)
for(int column = 0; column < dataTable.Columns.Count; column++)
{
    data.Append(dataTable.Columns[column].Name);
    if(column != dataTable.Columns.Count - 1) //last column doesn't ends with ;
        data.Append(";")
}

data.AppendLine();

for (int row = 0; row < dataTable.Rows.Count; row++)
{

    for (int column = 0; column < dataTable.Columns.Count; column++)
    {
        if (column == dataTable.Columns.Count - 1)
            data.Append(dataTable.Rows[row][column].ToString());
        else
            data.Append(dataTable.Rows[row][column].ToString()).Append(";");
    }

    data.AppendLine();
}

推荐阅读