c# – 带有多个标签的Linq到Excel

前端之家收集整理的这篇文章主要介绍了c# – 带有多个标签的Linq到Excel前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to create Excel (.XLS and .XLSX) file in C# without installing Ms Office? [closed]42个
我与Linq一起使用Entity Framework来填充我的网格视图.
我想从excel获得与Linq相同的数据.
此外,同一个Excel工作表中的第二个选项卡应来自另一个Linq查询.

什么是最简单,最好的方法

解决方法

这有两个部分.第一种是将linq集合序列化为CSV.您可以序列化这样的可枚举方法
public static string ToCsv<T>(string separator,IEnumerable<T> objectlist)
{
    Type t = typeof(T);
    FieldInfo[] fields = t.GetFields();

    string header = String.Join(separator,fields.Select(f => f.Name).ToArray());

    StringBuilder csvdata = new StringBuilder();
    csvdata.AppendLine(header);

    foreach (var o in objectlist) 
        csvdata.AppendLine(ToCsvFields(separator,fields,o));

    return csvdata.ToString();
}

方法无法帮助您处理深层对象,但它会让您使用CSV.第二阶段是构建XSLX格式(假设2个CSV不够).为此,我建议Microsoft使用the Open XML SDK从CSV字符串构建两个工作表.我也喜欢this answer用于构建Excel电子表格.

猜你在找的C#相关文章