C# |将数据网格视图导出到包含 header 个文本值的文本文件

C# | Export datagridview to textfile containing header text values

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

图片link:

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

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 header 值添加到输出?所以输出将如下所示:

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" + "|");

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

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