C#|将datagridview导出到包含标题文本值的文本文件

时间:2017-09-12 11:27:21

标签: c# datagridview export

单击按钮后,我的功能会将数据存储到DataGridView,如下所示:

图片链接:Image link to preview datagridview

现在,一旦用户点击另一个调用以下功能的按钮,数据就可以导出到文本文件中:

private async Task ExportUserData()
{
    string file_name = AppDomain.CurrentDomain.BaseDirectory + "/export.txt";

    TextWriter writer = new StreamWriter(file_name);

    for(int i = 0; i < dataGridView1.Rows.Count; i++)
    {
        for (int j = 0; j < dataGridView1.Columns.Count; j++)
        {
            await writer.WriteAsync("\t" + dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|");
        }

        await writer.WriteLineAsync("");
    }

    writer.Close();
    MessageBox.Show("Data exported!", "Insta Tool Info", MessageBoxButtons.OK);
}

此代码会将以下内容写入文本文件:

export|undefined|False|False|1329560|False|False|False|False|
person|undefined|False|False|419863|False|False|True|False|
dane|Dane Jasper|True|False|65077|False|True|True|True|

问题:

如何将datagridview标头值添加到输出中?因此输出将如下所示:

Username: export | Name: undefined | Private: False | Verified: False | Id: 1329560 | Email Sent: False | Valid Phone: False | Email Reset: False | Sms Reset: False

我尝试过以下方式做到这一点,但没有成功:

await writer.WriteAsync("\t" + dataGridView1.Rows[i].HeaderCell.Value.ToString() + dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|");

1 个答案:

答案 0 :(得分:0)

道歉 - 我还没有编译过这个。但我想你想要:

await writer.WriteAsync("\t" + dataGridView1.Columns[j].HeaderText + dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|");