使用 FileHelpers 的 CSV 文件中的最后一个分隔符
Last Delimiter in CSV file with FileHelpers
我必须开发一个包含 57 列的 CSV-Export。
在最后一列之后,我需要分隔符,然后是 LFCR。
示例:
现在我有
aaaa;bbbb;cccc;dddd
但我需要
aaaa;bbbb;cccc;dddd;
哪个属性可以控制这个?
不确定是否可以使用属性执行此操作,但可以使用 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;
您也可以在 class 的末尾添加一个虚拟字段。您可以将其标记为 [FieldOptional]
,这样如果您使用相同的 class 进行导入,则不需要它。
我必须开发一个包含 57 列的 CSV-Export。
在最后一列之后,我需要分隔符,然后是 LFCR。
示例:
现在我有
aaaa;bbbb;cccc;dddd
但我需要
aaaa;bbbb;cccc;dddd;
哪个属性可以控制这个?
不确定是否可以使用属性执行此操作,但可以使用 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;
您也可以在 class 的末尾添加一个虚拟字段。您可以将其标记为 [FieldOptional]
,这样如果您使用相同的 class 进行导入,则不需要它。