mus*_*usa 5 c# winforms csvhelper
我正在将数据从 a 写入public class
CSV 文件。因为我想附加我的数据,所以我想排除头文件的导入,只从类中导入数据。我下面的代码同时导入标题和数据。希望得到帮助。谢谢。
Record.cs - 我的课堂
public class Record
{
public string Name
{
get; set;
}
public DateTime DateOfBirth
{
get; set;
}
}
Run Code Online (Sandbox Code Playgroud)
Form1.cs - 我的表格
public partial class Form1 : Form
{
private List<Record> records;
public Form1()
{
InitializeComponent();
records = new List<Record>();
}
private void Savetocsv_Click(object sender, EventArgs e)
{
var myDocument = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
using (var writer = new StreamWriter(myDocument + "/my-data.csv", append: true))
{
using (var csv = new CsvWriter(writer))
{
csv.WriteRecords(records);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Cak*_*ter 10
配置类的名称已更改。
using (var csv = new CsvWriter(outputStream, new CsvConfiguration(CultureInfo.InvariantCulture)
{
HasHeaderRecord = false
}))
Run Code Online (Sandbox Code Playgroud)
使用Configuration
,您可以使用属性HasHeaderRecord
:
HasHeaderRecord
: 获取或设置一个值,该值指示 CSV 文件是否具有标题记录。
默认为真。
var records = new List<Foo>
{
new Foo { Id = 1, Name = "one" },
new Foo { Id = 1, Name = "one" },
};
using (var writer = new StreamWriter($"file.csv"))
using (var csv = new CsvWriter(writer, new Configuration { HasHeaderRecord = false }))
{
csv.WriteRecords(records);
}
Run Code Online (Sandbox Code Playgroud)
结果文件:“file.csv”
1;一
1;一
或者简单地循环记录并写入它们:
var records = new List<Foo>
{
new Foo { Id = 1, Name = "one" },
new Foo { Id = 1, Name = "one" }
};
using (var writer = new StreamWriter($"file.csv"))
using (var csv = new CsvWriter(writer))
{
foreach (var record in records)
{
csv.WriteRecord(record);
csv.NextRecord();
}
}
Run Code Online (Sandbox Code Playgroud)
在调用之前删除第一行records
:
csv.WriteRecords(records);
Run Code Online (Sandbox Code Playgroud)
(如果您需要保持记录不变,请在调用 WriteRecords(...) 后再次添加标头。)
private void Savetocsv_Click(object sender, EventArgs e)
{
var myDocument = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
using (var writer = new StreamWriter(myDocument + "/my-data.csv", append: true))
{
using (var csv = new CsvWriter(writer))
{
records.RemoveAt(0); // Removes the header row.
csv.WriteRecords(records);
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6042 次 |
最近记录: |