如何将 Windows 窗体数据保存到 csv? [复制]
Posted
技术标签:
【中文标题】如何将 Windows 窗体数据保存到 csv? [复制]【英文标题】:How to save windows form data to csv? [duplicate] 【发布时间】:2021-03-13 09:50:38 【问题描述】:我目前正在使用此代码将数据保存在 .txt 文件中。 我应该如何创建一个 csv 文件,而不是在每一列中都有正确的标题?
private string _path = "review.txt";
public static void WriteToTextFile(string path, string data, bool append = true, int count = 1)
if (!File.Exists(path))
var file = File.Create(path);
file.Close();
using (StreamWriter writer = new StreamWriter(path, append: append))
if (!append)
//remove opening bracket "[" from data passed
data = data.Trim().Substring(1, data.Trim().Length - 1);
//remove last bracket "]" from data passed
data = data.Trim().Substring(0, data.Trim().Length - 1);
if (count != 0)
data = data + ",";
writer.WriteLine(data);
public string SaveReview(Review data)
string str = JsonConvert.SerializeObject(data, Formatting.None);
Utility.WriteToTextFile(_path, str);
return "success";
【问题讨论】:
还有:***.com/questions/3532162/… & github.com/jitbit/CsvExport 【参考方案1】:通常,如果您想将数据写入 CSV 文件,您有一系列相似的对象,您想在其中写入大多数属性。每行一个对象,同一行上同一对象的所有属性。 (可选)你想写一个标题。
Nuget Package CSVHelper 是您的合作伙伴。
class Student
public int Id get; set;
public string Name get; set;
public DateTime BirthDay get; set;
...
public ICollection<Student> GetStudents() ...
public void SaveStudents(string fileName, ICollection<Student> students)
using (var textWriter = File.CreateText(fileName))
using (var csvWriter = new CsvWriter(textWriter))
// if you want a Header
csvWriter.Configuration.HasHeaderRecord = true;
csvWriter.WriteRecords(students);
省略写入某些属性,或者格式化写入的数据等有很多可能性。
阅读和写作一样简单。不过要小心:你在写作时做的装饰越多,阅读时你必须去除的装饰就越多。
【讨论】:
以上是关于如何将 Windows 窗体数据保存到 csv? [复制]的主要内容,如果未能解决你的问题,请参考以下文章