npoi List 泛型导出
大家都datatable导出的原因是datatale明确的表头,但是泛型下乏力,跟踪代码发现可以如下方法获取到动态类型的字段和值
listData 为 List<dynamic>
foreach (var item in listData)
{
var keys = ((System.Collections.Generic.IDictionary<string, object>)item).Keys;
var values = ((System.Collections.Generic.IDictionary<string, object>)item).Values;
for (int i = 0; i < keys.Count; i++)
{
var str = keys.ToList()[i].ToString();
var value = values.ToList()[i];
}
}
这个keys就可以来写表头
values就是表的各个字段的值