2010-10-21 56 views
1

我正在使用FileHelpers将一些数据写入CSV文件。 FileHelpers非常棒,因为它让我可以使用FileHelper转换器轻松地格式化各个字段。这里是一个FileHelpers DelimitedRecord的例子:Dyanamically选择写入哪些CSV字段

[DelimitedRecord(",")] 
public class ShippedRecord 
{ 

    public string Customer; 

    #quouted as can contain ',' characters 
    [FieldQuoted] 
    public string Address; 

    [FieldConverter(ConverterKind.Date, "yyyy-MM-dd")] 
    public DateTime ShippedDate; 

    [FieldConverter(ConverterKind.Date, "yyyy-MM-dd")] 
    public DateTime ReceivedDate; 

    public string DaysTillDelivery; 

    public string DeliveryStatus; 
} 

我希望用户能够指定,通过一个配置文件,该文件中的字段他们想要写入CSV文件。使用FileHelpers,我该如何动态更改哪些字段被写入CSV文件?我知道我可以使用类似于DataTable的东西,但我不知道如何格式化字段(引用的值,日期格式等),如果可能的话,我更喜欢使用由FileHelpers提供的简单转换器。如果不可能,如何使用DataTable按照上面的示例记录格式化字段?

回答

1

您可能可以使用CsvEngine.DataTableToCsv Method (DataTable, String, CsvOptions)overload并设置'CsvOptions'。似乎可以相对于字段格式,引用的值,日期格式等一些配置设置

(我还没有这虽然尝试过我自己)

+0

我看着这一点,但不幸的是,医生说,它仅允许分隔符被设置。 – FunLovinCoder 2010-10-21 12:35:48

+0

@swisstony - 您可以设置'CsvOptions'的其他公共属性,例如'CsvOptions.DateFormat'。是的,构造函数仅限于分隔符。 – Ahmad 2010-10-21 13:37:11

+0

谢谢,看起来不错。我可以看到我现在可以如何设置日期格式。但是,如何指定特定列应该引用其值? – FunLovinCoder 2010-10-21 18:55:02