如何像Linqpad一样将linq结果导出为ex​​cel

时间:2012-04-18 16:06:40

标签: c# linq excel linqpad

我有一个包含很多子查询的对象,我想像Linqpad一样导出到excel,这是一个例子:

enter image description here

有任何帮助吗?

韩国社交协会

4 个答案:

答案 0 :(得分:7)

如果在项目中包含对linqpad.exe的引用,则可以使用它来导出到html

例如,

List<User> users  = ....
var filename = "test.html";

var writer = LINQPad.Util.CreateXhtmlWriter();
writer.Write(users);

System.IO.File.WriteAllText(filename, writer.ToString());

// Open the file in excel
Process.Start("Excel" , filename); 

答案 1 :(得分:3)

Excel实际上可以打开HTML文档,重命名为“xls” - 将HTML表格结构作为Excel单元格读入。

但您必须以HTML格式输出数据。

答案 2 :(得分:1)

如上所述,LinqPad并未真正导出为Excel格式。但它会创建一个HTML文件,并使用Ms-Excel打开它。 (但对于下载文件,您无法强制客户端如何打开文件,但您可以将扩展名命名为XLS,并且EXCEL会打开它并发出警告)。

用于生成HTML输出,LinqPad使用hyperlinq库。

Query query = mFirestore.collection("rootcollection").whereEqualTo("month", 3);

答案 3 :(得分:0)

我想为下一个搜索的人添加此解决方案。我意识到这是一个老问题,但它是我搜索中唯一出现的问题。

您可以在命令行上运行lprun。

lprun -format=html yourQuery.linq > output.xls

Excel可以打开html,只要它是xls扩展名而不是xlsx。如果您使用xlsx,它会抱怨它格式错误而无法打开。使用xls扩展名,它会显示一条消息,但它可以打开。

就像一张纸条 - 我需要一个实体框架的数据库连接字符串。我在linqpad.config中有它,我花了一段时间才弄清楚为什么lprun无法读取它。您必须将连接字符串部分添加到lprun.exe.config,以便lprun可以使用它。

相关问题