我有兴趣为ReportViewer中的报表创建自定义导出到Excel选项.这主要是因为我想要pdf被剥夺,我通过以下方式做到了:
ReportViewer1.ShowExportControls = false;
Run Code Online (Sandbox Code Playgroud)
由于无法在ReportViewer中禁用任何特定的导出功能(例如pdf但不是excel).这是我(稍微)修改后的代码.理想情况下,我想要类似于以前的导出选项,我可以将文件保存到我想要的任何位置.
编辑:代码工作,但我怎么需要修改文件流,以便不是让文件自动保存,我可以提示用户,以便他们可以保存到他们想要的任何位置?
protected void btnExportExcel_Click(object sender, EventArgs e)
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
byte[] bytes = ReportViewer1.LocalReport.Render(
"Excel", null, out mimeType, out encoding,
out extension,
out streamids, out warnings);
FileStream fs = new FileStream(@"c:\output.xls",
FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
}
Run Code Online (Sandbox Code Playgroud) 我有一个ASP.NET应用程序,它公开了一个Microsoft ReportViewer(实际上是一个MVC3应用程序,其中一个WebForm托管了ReportViewer).运行大型报表时,会发生超时,导致请求停止,并显示空白页以代替报表.然而,以编程方式设置以下超时参数:
Viewer.ServerReport.Timeout = Configuration.ReportViewerTimeout;
ScriptManager.AsyncPostBackTimeout = Configuration.ReportViewerAjaxTimeout;
Run Code Online (Sandbox Code Playgroud)
相应的值为-1和0,根据文档将其解释为无超时.我也尝试过大值,它没有任何区别.
大约一分钟左右等待报告加载("正在加载"消息框),我得到一个空白报告,我在Firebug控制台窗口中看到了这个:
中止
Sys.WebForms.PageRequestManagerTimeoutException:服务器请求超时.
[打破此错误] this._endPostBack(this._cr ... anagerTimeoutError(),sender,null);
我也尝试将其添加到我的web.config:
<httpRuntime maxRequestLength="1024000" executionTimeout="999999" />
Run Code Online (Sandbox Code Playgroud)
在IIS>我的站点>高级设置>连接限制中,我将"连接超时(秒)"设置为1200.所有这些都没有区别.
有谁知道我可能会缺少什么?
我有一个包含ReportViewer控件的Web表单,一个DIV元素,所以我可以看到页面实际渲染.我看到我的页面正确加载,我看到Fiddler中正在访问报表服务,但是从未显示任何内容.
目前,我正在使用带有静态文本的报告,对其没有任何疑问,以确保我将问题隔离开来.
我的页面如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReportViewer.aspx.cs" Inherits="PeopleNet.Web.Views.Reports.ReportViewer" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/scripts/jquery-1.7.2.js" />
<asp:ScriptReference Path="~/scripts/fixReportViewer.js" />
</Scripts>
</asp:ScriptManager>
<div>
This is the report viewer page...
</div>
<rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
显示报告的代码是:
protected void Page_Load(object sender, EventArgs e)
{
this.ReportViewer1.ServerReport.ReportServerUrl = ConfigurationFacade.ReportServerUri;
this.ReportViewer1.ServerReport.ReportPath = { path to report name };
this.ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerCredentials(); …
Run Code Online (Sandbox Code Playgroud) 我正在使用SSRS reportviewer生成使用对象的报告.在我的程序中,我要求用户输入一串众所周知的颜色,例如"Red"
" Blue"
,等等.然后我想生成这种颜色的三种色调,并使用此颜色填充我的报告中的区域图表.我做所以我改变了颜色的不透明度(alpha).
这是我将代码转换为颜色的代码:
newitem.ChartColor = "red";
Color mycolor = Color.FromName(newitem.ChartColor);
Run Code Online (Sandbox Code Playgroud)
但是,现在我想生成两种颜色与红色相同但不同的alpha(不透明度)的颜色,以便它们看起来更亮,类似于 #56FF0000
我尝试将值传递给A
Color 的属性,但它是只读的.
任何帮助赞赏.
我是RDLC的新手所以请原谅我,如果我错过了一些明显的东西.
我有一些需要重复的数据,基于1:链接到主报表的数据集.它不能以表格形式显示,因为客户希望以特定方式布局,因此使用Tablix控件.我在这个主报告中有一些基于1:1数据集的子报告,一切都很酷.我为这个新数据集创建了一个子报告,并将其添加到主RDLC报告中.一切正常,但它只包括数据集的第一条记录.
是否可以为数据集中的每条记录重复此子报表?我认为令我困惑的是主要的RDLC没有专门加载各个子报告的代码,因此我没有看到任何可以包含循环或任何东西的地方.
我有一个只有ftp访问权限的Web服务器,我无法在其上安装Microsoft Report Viewer.
如何在不安装ReportViewer的情况下将我的asp.net应用程序发布到IIS ?
我已将以下dll复制到我的站点bin文件夹:
现在我收到错误说:
本地报告处理期间发生错误.
报告'Reports\QuotationViewReport.rdlc'的定义无效.
报告处理中发生意外错误.
无法加载文件或程序集"Microsoft.ReportViewer.ProcessingObjectModel,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"或其依赖项之一.该系统找不到指定的文件.
我甚至找不到Microsoft.ReportViewer.ProcessingObjectModel.dll
在我的本地机器上命名的dll .
是否可以在不安装ReportViewer的情况下发布我的应用程序?
我的3.5框架webforms网站上有一个显示报告的页面.它使用报告查看器10.0.0.0.除了IE11之外,每个浏览器的报告都会呈现.只有以doc类型格式显示信息的报表才会呈现为html表并存储在.rdl文件中.param框加载,但是当选择并运行报告时,我只是获取加载gif并且它超时.我已经尝试使用IE11开发工具进行故障排除,并且在打开它时超时,这是一个完美的风暴.另一点信息我在VS2012本地运行网站,在IE11中它只是在IIS7服务器上呈现.
我已经尝试了一个自定义.browser文件来模拟IE10没有运气.任何帮助都会受到影响,或者只是知道我不是唯一的帮助.
更新:我在服务器日志中发现了异常.HttpHandlerInputException,缺少URL参数:IterationId.
提前致谢.
有没有办法抑制以下警告?
警告rsOverlappingReportItems:图像'image3'和图像'image1'重叠.所有渲染器都不支持重叠报表项.
我们在网站上使用了很多报告.将某些报告导出为PDF时,文件大小变大,服务器因负载而崩溃.因此,如果我可以仅针对某些有问题的报告禁用导出到PDF选项,那将会很棒.
那么有没有办法在报表查看器9.0(SSRS)中为单个报表禁用某些导出选项(例如:导出为PDF)?
谢谢.
我正在使用VSTS 2008 + C#+ .Net 3.5 + SQL Server 2008 + ASP.Net + IIS 7来开发Web应用程序.任何快速且易于学习的报表查看器教程 - 我想根据SQL Server 2008中的数据生成报表.基本的设计和实现功能很好,此时无需学习有关报表审阅者的高级主题.