Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不使用ReportViewer C将RDLC报表导出到Excel_C#_Asp.net_Sql Server - Fatal编程技术网

C# 不使用ReportViewer C将RDLC报表导出到Excel

C# 不使用ReportViewer C将RDLC报表导出到Excel,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我正在尝试在没有ReportViewer的情况下将RDLC报告导出到Excel。我正在使用Microsoft Visual Studio 2010和Microsoft SQL Server 2008 R2。以下是我的步骤: 从解决方案资源管理器-报告-报告向导-myReport.rdlc添加新项 按照向导步骤-ConnectionString from web.config-storageprocedure作为源创建报告。我设置了两个参数,分别是StartDate和EndDate 这是我的存储过

我正在尝试在没有ReportViewer的情况下将RDLC报告导出到Excel。我正在使用Microsoft Visual Studio 2010和Microsoft SQL Server 2008 R2。以下是我的步骤:

从解决方案资源管理器-报告-报告向导-myReport.rdlc添加新项 按照向导步骤-ConnectionString from web.config-storageprocedure作为源创建报告。我设置了两个参数,分别是StartDate和EndDate

这是我的存储过程:

CREATE PROCEDURE mySP
    (@StartDate datetime, @EndDate datetime)
AS
BEGIN
    SELECT * 
    FROM myTable 
    WHERE TheDate >= @StartDate AND TheDate <= @EndDate
END
为报表添加一些字段

在报表设计器上,添加2个参数StartDate和EndDate。 右键单击设计器-选择报表属性 在变量部分-通过单击“fx”按钮添加2个参数 转到tableadapter上的xsd文件myApp.xsd,右键单击然后配置 TableAdapter的配置-没有更改,我只需单击下一步并完成 这些是我创建RDLC报告的步骤。我是从

问题是:如何在不使用ReportViewer的情况下导出我刚刚设计的RDLC报告?我的网页上有一个按钮,比如说:“导出到Excel”

谢谢。

使用LocalReport.Render

添加程序集引用:Microsoft.ReportViewer.WebForms或从nuget安装 然后创建报表查看器实例: var viewer=新的Microsoft.Reporting.WebForms.ReportViewer

以下是代码:

        Warning[] warnings;
        string[] streamids;
        string mimeType, encoding, extension;
        string filenameToSave = "test.xlsx";

        LocalReport report = new LocalReport();
        /*
         define here everything about your report: rdlc file, parameters, options etc.
        */ 

        FileStream newFile = new FileStream(filenameToSave, FileMode.Create);

        string renderFormat = (filenameToSave.EndsWith(".xlsx") ? "EXCELOPENXML" : "Excel");
        byte[] bytes = report.Render(renderFormat, null, out mimeType, out encoding, out extension, out streamids, out warnings);
        newFile.Write(bytes, 0, bytes.Length);
        newFile.Close();

以下代码示例假定Web表单应用程序具有ReportViewer控件、按钮和标签。请帮我编写代码好吗?它也可以在没有控件和按钮的情况下工作:-添加程序集引用:Microsoft.ReportViewer.WebForms或从nuget安装-然后创建一个报表查看器实例:var viewer=new Microsoft.Reporting.WebForms.ReportViewer;错误:尚未指定运行报告所需的一个或多个参数。联机:byte[]bytes=viewer.LocalReport.RenderExcel,null,out mimeType,out encoding,out extension,out streamid,out warnings;你好文件流出错?那是什么?错误表示,无法找到命名空间。请使用System.IO获取它;