带有FileHelpers的CSV文件中的最后一个分隔符

问题描述 投票:0回答:2

我必须开发一个具有57列的CSV-Export

在最后一列之后,我需要定界符,然后是LFCR。

示例:

现在我有

aaaa;bbbb;cccc;dddd

但是我需要

aaaa;bbbb;cccc;dddd;

哪个属性可以控制?

filehelpers
2个回答
0
投票

不确定是否可以使用属性来执行此操作,但是可以使用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; 

0
投票

您也可以只在课程末尾添加一个虚拟字段。您可以将其标记为[FieldOptional],以便在使用相同的类进行导入时不需要。

© www.soinside.com 2019 - 2024. All rights reserved.