首页 > 解决方案 > 使用 FileHelpers 的 CSV 文件中的最后一个分隔符

问题描述

我必须开发一个包含 57 列的CSV 导出。

在最后一列之后,我需要分隔符,然后是 LFCR。

例子:

我现在有

aaaa;bbbb;cccc;dddd

但是我需要

aaaa;bbbb;cccc;dddd;

哪个属性可以控制这个?

标签: filehelpers

解决方案


不确定是否可以使用属性执行此操作,但可以使用 AfterWriteRecord 事件

例子

void Main()
{
    var records = new List<Record>();
    records.Add(new Record() { A = "aaaa", B = "bbbb", C = "cccc", D = "dddd" });

    var engine = new FileHelperEngine<Record>();
    engine.HeaderText = engine.GetFileHeader();

    engine.AfterWriteRecord += AfterWriteEvent;
    engine.WriteFile("output.csv", records);                
}

void AfterWriteEvent(EngineBase engine, AfterWriteEventArgs<Record> e)
{
    e.RecordLine += ";" ;
}

[FileHelpers.DelimitedRecord(";")] 
public class Record
{    
    public string A;
    public string B;
    public string C;
    public string D;
}

输出

A;B;C;D 
aaaa;bbbb;cccc;dddd; 

推荐阅读