C# CSVHELC从我的对象加载
您好,我正在尝试使用CSVHelper将对象列表导出到CSV。 所以我有这个: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 =&
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;