我们已经讲过了如何以HTML和PDF格式显示报表对话框的例子。现在,我将向你展示如何以所需的格式保存报表,并提供Excel的示例。
我们将使用MVC Web应用程序。这里有一个用于保存的按钮,我们将其添加到主页。为此,请打开视图(Views)文件夹中的Index.cshtml文件。
并将下面的代码放在所需的位置:
@using (Html.BeginForm("Save", "Home"))
{
<input id="print" type="submit" value="Save report in Excel" />
}
此处的“Save”是处理程句柄在控制器中的名称,“Home”是控制器的名称。
现在将处理句柄“Save”添加到主页控制器。为此,从Controllers文件夹中打开文件HomeController.cs:
该句柄如下所示:
public void Save()
{
WebReport webReport = new WebReport();
System.Data.DataSet dataSet = new System.Data.DataSet();
dataSet.ReadXml("C://Program Files (x86)//FastReports//FastReport.Net//Demos//Reports//nwind.xml");
webReport.Report.RegisterData(dataSet, "NorthWind");
webReport.Report.Load("C://Program Files (x86)//FastReports//FastReport.Net//Demos//Reports//Simple List.frx");
webReport.ExportExcel2007();
}
我们看一下过程顺序:
- 创建一个WebReport对象的实例;
- 创建一个DataSet对象的实例来处理日期;
- 加载xml数据库文件;
- 在报表对象中注册数据源;
- 将报表模板加载到WebReport对象中;
- 以Excel格式保存报表。
现在,你需要在位于项目根目录下的Web.config文件中添加一个处理句柄:
<handlers>
<add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/>
</handlers>
我们运行Web应用程序,以查看我们的按钮:
点击它。程序将显示一个对话框,以xlsx格式保存报表文件。
下载报表后,它将被打开:
综上所述,我们可以得出结论,使用我们演示的应用程序,可以将报表保存为不同的格式,以用于导出报表。使用我们演示的代码,可以允许Web应用程序的用户以所需的格式下载报表,而不显示报表本身。