C# 如何在C语言中将DataTable的内容保存到文本文件中#

C# 如何在C语言中将DataTable的内容保存到文本文件中#,c#,.net,forms,button,datatable,C#,.net,Forms,Button,Datatable,我有一个Windows窗体应用程序,我在其中创建了两个不同的按钮 第一个按钮将数据插入DataTable,如下所示: public void button1_Click(object sender, EventArgs e) { var salesman = new Salesman(); salesman.Name = txtName.Text;

我有一个Windows窗体应用程序,我在其中创建了两个不同的按钮

第一个按钮将数据插入DataTable,如下所示:

        public void button1_Click(object sender, EventArgs e)
        {
           
            var salesman = new Salesman();

           
            salesman.Name = txtName.Text;
            salesman.SecurityNumber = txtSecurity.Text;
            salesman.District = txtDistrict.Text;
            salesman.AmountSold = int.Parse(txtAmount.Text);
            
           
            
            DataTable information = new DataTable();
            information.Columns.Add("Namn");
            information.Columns.Add("Personnummer");
            information.Columns.Add("Distrikt");
            information.Columns.Add("Antal artiklar", typeof(int));

            
            DataRow row = information.NewRow();
            row["Namn"] = salesman.Name;
            row["Personnummer"] = salesman.SecurityNumber;
            row["Distrikt"] = salesman.District;
            row["Antal artiklar"] = salesman.AmountSold;
            information.Rows.Add(row);

        
            foreach (DataRow Drow in information.Rows)
            {

                int num = dataGridView1.Rows.Add();
                dataGridView1.Rows[num].Cells[0].Value = Drow["Namn"].ToString();
                dataGridView1.Rows[num].Cells[1].Value = Drow["Personnummer"].ToString();
                dataGridView1.Rows[num].Cells[2].Value = Drow["Distrikt"].ToString();
                dataGridView1.Rows[num].Cells[3].Value = Drow["Antal artiklar"];

            }

            if (salesman.AmountSold < 50)
            {
                levelOne++;
                label8.Text = Convert.ToString(levelOne);

            }

            if (salesman.AmountSold >= 50 && salesman.AmountSold < 99)
            {
                levelTwo++;
                label12.Text = Convert.ToString(levelTwo);
            }

            if (salesman.AmountSold >= 100 && salesman.AmountSold < 199)
            {
                levelThree++;
                label13.Text = Convert.ToString(levelThree);
            }

            if (salesman.AmountSold >= 199)
            {
                levelFour++;
                label14.Text = Convert.ToString(levelFour);
            }

           
            txtName.Text = "";
            txtSecurity.Text = "";
            txtDistrict.Text = "";
            txtAmount.Text = "";

        }
public void按钮1\u单击(对象发送者,事件参数e)
{
var saller=新的saller();
saller.Name=txtName.Text;
saller.SecurityNumber=txtSecurity.Text;
saller.District=txtdrict.Text;
saller.amountsell=int.Parse(txtmount.Text);
DataTable信息=新DataTable();
信息。列。添加(“Namn”);
信息。列。添加(“人员”);
信息。列。添加(“Distrikt”);
信息.列.添加(“Antal artiklar”,类型(int));
DataRow row=information.NewRow();
行[“Namn”]=销售人员名称;
行[“Personnummer”]=saller.SecurityNumber;
行[“Distrikt”]=销售人员所在地区;
行[“Antal artiklar”]=销售人员销售数量;
信息.行.添加(行);
foreach(information.Rows中的数据行Drow)
{
int num=dataGridView1.Rows.Add();
dataGridView1.Rows[num].Cells[0].Value=Drow[“Namn”].ToString();
dataGridView1.Rows[num].Cells[1].Value=Drow[“Personnummer”].ToString();
dataGridView1.Rows[num].Cells[2].Value=Drow[“Distrikt”].ToString();
dataGridView1.Rows[num].Cells[3].Value=Drow[“Antal artiklar”];
}
如果(销售人员销售额<50)
{
levelOne++;
label8.Text=Convert.ToString(levelOne);
}
如果(saller.amountsell>=50&&saller.amountsell<99)
{
levelTwo++;
label12.Text=Convert.ToString(levelTwo);
}
如果(saller.amountsell>=100&&saller.amountsell<199)
{
三级++;
label13.Text=Convert.ToString(三级);
}
如果(saller.amountsalled>=199)
{
四级++;
label14.Text=Convert.ToString(第四级);
}
txtName.Text=“”;
txtSecurity.Text=“”;
txtdirect.Text=“”;
txtAmount.Text=“”;
}
我的第二个按钮需要将所有存储的数据(从Saleser类和标签等)保存到一个文本文件中。验证与格式无关,我只想要纯文本。以下是我对该按钮的代码:

        private void button3_Click(object sender, EventArgs e)
        {
            System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\\skrivbord\\Borna.txt");

            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                for(int j = 0; j < dataGridView1.Columns.Count; j++)
                {
                    file.Write("" + dataGridView1.Rows[i].Cells[j].Value.ToString()+"\t"+"|");
                }
                file.WriteLine("");
                file.WriteLine("");
            }
            file.Close();
            MessageBox.Show("Din fil är hämtad");
        }
private void按钮3\u单击(对象发送者,事件参数e)
{
System.IO.StreamWriter file=new System.IO.StreamWriter(@“C:\\skrivbord\\Borna.txt”);
对于(int i=0;i
现在,程序仅在尝试保存文件时显示MessageBox。没有别的了。我在这里做错了什么,既然我是C#和.NET新手,请给我一些指导


要写入文件,可以使用
file
类和
writealText
方法

private void button3_Click(object sender, EventArgs e)
{
  var txtFile = new StringBuilder();
  for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
  {
      string line = "";
      for (int j = 0; j < dataGridView1.Columns.Count; j++)
      {
          line += dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|";
      }
      txtFile.AppendLine(line);
  }

  string fileName = @"C:\\skrivbord\\Borna.txt";
  System.IO.File.WriteAllText(fileName, txtFile.ToString());
}
private void按钮3\u单击(对象发送者,事件参数e)
{
var txtFile=新的StringBuilder();
对于(int i=0;i
或者您可以使用以下代码

private void button3_Click(object sender, EventArgs e)
{
    using (StreamWriter file = new StreamWriter((@"C:\\skrivbord\\Borna.txt"))
    {
       for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
       {
           string line = "";
           for(int j = 0; j < dataGridView1.Columns.Count; j++)
           {
              line = dataGridView1.Rows[i].Cells[j].Value.ToString()+"\t"+"|";
           }
           file.WriteLine(line);
           file.WriteLine("");
       }
    }
    MessageBox.Show("Din fil är hämtad");
}
private void按钮3\u单击(对象发送者,事件参数e)
{
使用(StreamWriter file=newstreamwriter(@“C:\\skrivbord\\Borna.txt”))
{
对于(int i=0;i
试试这个

    StreamWriter file = new StreamWriter("C:\\skrivbord\\Borna.txt")


“…程序在尝试时什么都不做…”是的,我知道,我现在编辑了我的问题。您好。我使用了您的第一个解决方案,它工作得很好。我现在只需要添加我的标签值。它没有存储在我的数据表中。我该怎么做,先生。谢谢您的帮助,尊敬的先生
    StreamWriter file = new StreamWriter(@"C:\skrivbord\Borna.txt")