C# CSVHELC从我的对象加载

C# CSVHELC从我的对象加载,c#,model-view-controller,dictionary,csvhelper,C#,Model View Controller,Dictionary,Csvhelper,您好,我正在尝试使用CSVHelper将对象列表导出到CSV。 所以我有这个: List<Employee> employeeList = GetAllEmployees(); 我创建了这张地图: public sealed class EmployeeExport: CsvClassMap<Employee> { public EmployeeExport() { Map(m => m.Id); Map(m =&

您好,我正在尝试使用CSVHelper将对象列表导出到CSV。

所以我有这个:

List<Employee> employeeList = GetAllEmployees();
我创建了这张地图:

public sealed class EmployeeExport: CsvClassMap<Employee>
{
    public EmployeeExport()
    {
        Map(m => m.Id);
        Map(m => m.Date).TypeConverterOption("dd/MM/yyyy");
        Map(m => m.Account.AccountName);
        Map(m => m.LabourChargeType.LabourChargeTypeName);
    }
}
如何使用employeeList加载ExployeExport类,并根据Map类简单地导出到CSV

另外,如何将Employee.Minutes转换为hh:mm,并创建一个名为Duration的新列inexistent


谢谢

我认为映射是用于读取CSV的。您需要包括使用System.IO

编辑:


参考资料:

是Employee.Minutes a TimeSpan我在哪里可以找到TimeSpan.ToString格式的列表?例如hh \:mm:\ss?为什么它不同于c语言中的普通日期时间格式?很酷,但无论如何,我还是想使用映射。。您知道如何获取此csv并将其转换为字节以返回文件保存吗?编辑以回答您的问题
        // Populate your employeeList
        TextWriter textWriter = new StreamWriter("foo.csv"); //foo.csv is the file you are saving to
        var csv = new CsvWriter(textWriter);
        foreach (var employee in employeeList)
        {
            csv.WriteField(employee.Id);
            csv.WriteField(employee.Date.ToShortDateString());
            csv.WriteField(employee.Account.AccountName);
            csv.WriteField(employee.LabourChargeType.LabourChargeTypeName);
            csv.NextRecord();
        }
        textWriter.Flush();
        textWriter.Close();
        textWriter = null;