【问题标题】:How to save windows form data to csv? [duplicate]如何将 Windows 窗体数据保存到 csv? [复制]
【发布时间】: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";
        }

【问题讨论】:

标签: c# .net winforms user-interface


【解决方案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);
        }
    }
}

省略写入某些属性,或者格式化写入的数据等有很多可能性。

阅读和写作一样简单。不过要小心:你在写作时做的装饰越多,阅读时你必须去除的装饰就越多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    相关资源
    最近更新 更多