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电子表格. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |