加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 05:41:08 所属栏目:百科 来源:网络整理
导读:参见英文答案 How to create Excel (.XLS and .XLSX) file in C# without installing Ms Office? [closed]42个 我与Linq一起使用Entity Framework来填充我的网格视图. 我想从excel获得与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电子表格.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读