如何将数据网格导出到报表以进行打印

时间:2011-11-16 16:01:12

标签: c# asp.net asp.net-mvc asp.net-mvc-3

在我的asp.net mvc3(razor)项目中,我有一个非常类似于telerik's demo的网格,我需要从中进行报告,以便用户可以打印和归档页面。

可能有100多行,因此它可能需要多个页面,并且我想要添加到网格中不存在的报告中的一些细节,但我(当然)在服务器中。


示例:

public class Employee
{
     public int ID {get; set;}
     public long Phone {get; set;}
     public double Salary {get; set;}
     public string Address {get; set;}
     public string Country {get; set;}
}

如何制作与此类似的报告:
enter image description here

1 个答案:

答案 0 :(得分:1)

如果你需要做的就是将数据导出到CSV文件(根据上面问题的评论)然后here's a quick tutorial如何在ASP.NET中完成(无论是在WebForms页面还是MVC行动)。

由于您正在使用MVC,我建议您更进一步,creating a custom action result将流程抽象出控制器逻辑。

基本上你所做的就是手动将数据行写入HttpResponse(在设置一些标题值之后)。在这种情况下,CSV是一种非常简单的方法,因为它没有特殊的格式。它只是文本,用逗号分隔,行之间有回车。

当然,你的数据包含任何逗号/换行/等等,可能会对工作产生影响......