如何使用C#和MVC2从SQL数据库生成PDF/Excel文件?

如何使用C#和MVC2从SQL数据库生成PDF/Excel文件?,c#,sql-server,database,asp.net-mvc-2,pdf-generation,C#,Sql Server,Database,Asp.net Mvc 2,Pdf Generation,我需要允许用户以PDF或Excel电子表格的形式下载数据库中的信息,以使其可用(任何一种都可以,两者都是完美的) 我环顾了很多选项,但我真的无法决定应该使用哪一个,更不用说这些选项是否真的有用了。我发现的大多数选项都围绕着将现有的HTML文件转换成PDF展开,这不是我所需要的。而且,它需要是免费的。我的老板没有给我一个预算来花在这上面 我不确定这里还应该包括哪些其他信息 非常感谢您的帮助。如果你对丢失的信息有疑问,我会尽快把它寄出去。我整天都在这里,所以我能很快对任何评论做出回应 编辑:哦,哇!

我需要允许用户以PDF或Excel电子表格的形式下载数据库中的信息,以使其可用(任何一种都可以,两者都是完美的)

我环顾了很多选项,但我真的无法决定应该使用哪一个,更不用说这些选项是否真的有用了。我发现的大多数选项都围绕着将现有的HTML文件转换成PDF展开,这不是我所需要的。而且,它需要是免费的。我的老板没有给我一个预算来花在这上面

我不确定这里还应该包括哪些其他信息

非常感谢您的帮助。如果你对丢失的信息有疑问,我会尽快把它寄出去。我整天都在这里,所以我能很快对任何评论做出回应


编辑:哦,哇!非常感谢大家的热烈响应!我有很多想法。这非常有用。谢谢

您是否查看了reportviewer控件,它是Visual Studio的一部分

它允许您以PDF或Excel格式导出报告。


检查此选项是否对您有用

在这种情况下,我通常向客户建议的解决方案是使用Sql Server Reporting Services(SSRS)。您可以使用随附的控件来生成PDF、Excel电子表格、XML文件、CSV文件和其他文件。如果您需要临时报告,也可以使用


除此之外,您还可以使用生成Excel电子表格,并且有大量可用的PDF工具包。

有很多报告解决方案,例如SQL Server reporting Services(您可能已经获得了许可证)。看一看哪一个可以通过一点序列化应用到web上


我建议你考虑根据情况自己滚动。您可以用于pdf导出和excel。它们都非常易于使用,而且我敢肯定,只需点击几下,就可以在nuget中获得。

如果您想使用Excel,我推荐Stephen Walther的这篇文章,标题为。这使用了使用Excel mime类型编写HTML文档的老技巧。这与流式传输本机Excel文件不同。如果您想将CSV文件剥离,并使其成为一个更通用的文件,那么将其更改为呈现CSV文件是相当容易的。如果有可能出现逗号,请记住将所有字段双引号引起来。

如果您的操作不太复杂,您可以使用CSV文件。CSV代表逗号分隔的值,听起来就是这样。可以使用逗号创建简单的表和列。例如,将以下行粘贴到文本文件中:

heading1,heading2,heading3
info1,info2,info3
info1,info2,info3

将文本文件另存为.csv文件,瞧,excel电子表格。显然,构建这些循环对象集合非常容易。请注意,如果您需要任何复杂的文本格式等,那么这并不是最好的选择。

如果您想生成Excel(或Word),您可以使用openXml。您可以完全按照您希望的方式从纯代码创建新文档


您使用什么方法访问数据库?实体框架?Linq到SQL?DataTables?我使用实体框架访问数据库。非常感谢您的建议。有很多答案,但最终这就是我想要的答案。这比我希望的要花费更多的努力,但我认为这是最好的选择。这可能太好了。+1 MSDN技术文档非常冗长,我发现它们很难理解。最好快速开始