![](/img/trans.png)
[英]How to save data to a (csv/txt) file from dynamically added rows to a HTML table using C#?
[英]How to save data from C# in a txt file?
我是编程新手,遇到一些困难。 我希望将正在生成的数据(WPF DataGrid
)保存到文本文件中。
这是我目前拥有的:
MainWindow.xaml.cs:
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
string fileName = @"D:\projects\PersonInfos\Files\PersonInfos_Copy.txt";
PersonInfosTable.ConvertToTXTFile(fileName);
}
PersonInfosTable.cs:
public void ConvertToTXTFile(string fileName)
{
StringBuilder sb = new StringBuilder();
System.Text.Encoding Output = null;
Output = System.Text.Encoding.Default;
foreach (PersonInfos personinfos in PersonInfoDetails)
{
if (PersonInfos.SelectCheckBox == true)
{
string line = String.Format("L§" + personinfos.FirstName + "§" + personinfos.LastName + "§");
sb.AppendLine(line);
StreamWriter file = new StreamWriter(fileName);
file.WriteLine(sb);
file.Close();
}
}
}
不幸的是,这不起作用。 PersonInfosDetails
的类型为ObservationCollections<T>
而SelectCheckBox
是用户选择的复选框,并指示用户要保存的文件。
有什么想法或建议吗? 非常感谢您的帮助,也非常感谢您的宝贵时间!
还不清楚什么是SelectCheckBox属性。 但是,您需要将程序的编写部分移出循环。 在循环内部,只需将每个人的信息添加到您的StringBuilder实例中即可。
public void ConvertToTXTFile(string fileName)
{
StringBuilder sb = new StringBuilder();
System.Text.Encoding Output = System.Text.Encoding.Default;
foreach (PersonInfos personinfos in PersonInfoDetails)
{
// Collect every personinfos selected in the stringbuilder
if (personinfos.SelectCheckBox == true)
{
string line = String.Format("L§" + personinfos.FirstName + "§" + personinfos.LastName + "§");
sb.AppendLine(line);
}
}
// Now write the content of the StringBuilder all together to the output file
File.WriteAllText(filename, sb.ToString())
}
您是否尝试过: 如何写入文本文件(C#编程指南) ?
另外,除非SelectCheckBox
是PersonInfos
类的静态属性,否则您提供的代码将不起作用。 您可能必须将if
语句更改为
if (personInfos.SelectCheckBox == true)
{
// ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.