c#在txt文件中写入数据表行

本文关键字:数据表 txt 文件 | 更新日期: 2023-09-27 18:11:58

我的DataTable上有大约40行显示在DataGridView中我很困惑为什么我的方法在TextFile:中只保存One Row

    private void SaveBtn_Click(object sender, EventArgs e)
    {
        String outputFile;
        List<String> ListData = new List<String>();
        using (SaveFileDialog sfd = new SaveFileDialog())
        {
            sfd.Filter = "Txt File|*.Txt";
            if (sfd.ShowDialog() != DialogResult.OK)
                return;
            outputFile = sfd.FileName;
        }
        DataTable tb = pw.SavedInfo(User_info.UserID);
        for (int i = 0; i < tb.Rows.Count; i++)
        {
           ListData.Add("Name==> " + tb.Rows[i][1].ToString() + "  LastName ==> " + tb.Rows[i][2].ToString() + "  Email ==> " + tb.Rows[i][3].ToString() );
        }
        foreach (String s in ListData)
        {
            using (TextWriter Tw = new StreamWriter(outputFile))
            {
                Tw.WriteLine(s);
            }               
        }
    }

我错过什么了吗?因为这是一个非常漫长的一天来保持专注

c#在txt文件中写入数据表行

使用相同的StreamWriter:

using (TextWriter Tw = new StreamWriter(outputFile))
{
    foreach (String s in ListData)
    {
        Tw.WriteLine(s);             
    }
}

或者使用接受bool表示"append"的构造函数:

foreach (String s in ListData)
{
    using (TextWriter Tw = new StreamWriter(outputFile, true))
    {
        Tw.WriteLine(s);
    }               
}
File.WriteAllLines(outputFile, lisData);

使用此项写入文件。File.WriteAllLines文档