【发布时间】:2017-05-19 08:18:40
【问题描述】:
我有一个 MVC Web 应用程序,允许用户上传 Excel 文件。 excel文件具有以下列计数
- 文件 1 => 10 列(8 列必填,2 列可选)
- 文件 2 => 8 列(6 列必填,2 列可选)
- 文件 3 => 6 列(5 列必填,1 列可选)
- 文件 4 => 4 列(4 列必填,0 列可选)
我收到了一个DataTable,它已根据上传的 excel 文件填充了列名。我已经创建了一个 class,它有 10 个属性:
public class ImportData
{
public string OpertorName { get; set; }
public string MachineName { get; set; }
....
}
现在我想要实现的是从DataTable 创建一个List<ImportData>。我知道我可以做到以下几点
List<ImportData> imports = dt.AsEnumerable().Select(row =>
new ImportData
{
OpertorName = row.Field<string>("OPERTOR NAME"),
MachineName = row.Field<string>("MACHINE NAME")
...
//all 10 properties
}).ToList();
以上内容对File 1 很好,但我如何才能容纳其余文件,因为并非所有文件都将在DataTable 中包含所有10 列
【问题讨论】:
标签: c# asp.net-mvc excel datatable