c# - CsvHelper ConvertUsing 不改变输出

标签 c# csv export-to-csv csvhelper

我正在尝试使用 CsvHelperConvertUsing 方法库(v 2.4.0)。

我已阅读有关 ConvertUsing 的文档但无法让它工作。

我正在使用一个简单的类:

public class Test
{
    public long Id { get; set; }
    public string Title { get; set; }
}

使用这个 ClassMap:

public class TestClassMap : CsvClassMap<Test>
{
    public override void CreateMap()
    {
        Map(m => m.Id).Name("id").ConvertUsing(row => 11111);
        Map(m => m.Title).Name("title").ConvertUsing(row => row.GetField("title") + " 123");
    }
}

我使用这些的代码创建了该类的一个实例,然后将其写入 CSV:

var test = new Test() { Id = 99, Title = "Test title" };

using (var streamWriter = new StreamWriter("test.csv"))
{
    var csv = new CsvWriter(streamWriter);
    csv.Configuration.RegisterClassMap<TestClassMap>();
    csv.WriteRecord(test);
}

但是输出文件 test.csv 始终是以下格式:

id,title
99,Test title

我正在寻找的输出是:

id,title
11111,Test title 123

ConvertUsing 被忽略了。我试过只转换 IdTitle,但这也不起作用。

有什么地方出错了吗?

最佳答案

目前ConvertUsing仅在阅读时使用。

如果要自定义输出,可以使用自定义类型转换器。您还可以通过类型转换器选项获得一些有限的能力。

关于c# - CsvHelper ConvertUsing 不改变输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21678385/

相关文章:

c# - 修改 Gridview 中的超链接字段文本

c# - 压缩webapi POST的正确方法

c# - 定义实现泛型的接口(interface)依赖

excel - PostgreSQL 查询输出为 Excel 文件

postgresql - 如何将 PostgreSQL 查询输出导出到 csv 文件

C# 列表,在*最后一个非空元素之后删除所有空值

csv - ServiceStack CSV 序列化程序在序列化日期周围放置额外的引号

R 数据整理

vba - 如何在 VBA 中更改文件扩展名

json - 使用shell命令导出mongodb中的集合