我自己做了个水晶报表,里面有两个参数,我想传入两个参数值后,在后面导出XLS文件到磁盘中(即用户只要输入参数值,然后点击“导出XLS”按钮,即可导出XLS文件到磁盘中,并在相应地方查看该XLS文件),请问如何实现?如果有代码,可以给小生一份吗?感激不尽!希望提供可靠代码
下面是我从网上弄到的代码,但有错误。(我已经给相应的路径赋读写权给本人的域帐号和所有人)
前台:
...
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" ReportSourceID="CrystalReportSource1" AutoDataBind="true"/>
<br />
<CR:CrystalReportSource ID="CrystalReportSource1" runat="server" >
<Report FileName="../UpLoadFiles/shipment/template/Packing_List.rpt">
</Report>
</CR:CrystalReportSource>
...
后台:
...
ParameterFields paramFields = new ParameterFields();
ParameterField paramField = new ParameterField();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue(); paramField.ParameterFieldName = "@number";//第一个参数
discreteVal.Value = "20100115001";
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField); paramField = new ParameterField();
discreteVal = new ParameterDiscreteValue();
paramField.ParameterFieldName = "@Num";//第二个参数
discreteVal.Value = "20100115001";
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField); CrystalReportViewer1.ParameterFieldInfo = paramFields;
...
BUG显示为:
拒绝访问。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.COMException: 拒绝访问。
下面是我从网上弄到的代码,但有错误。(我已经给相应的路径赋读写权给本人的域帐号和所有人)
前台:
...
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" ReportSourceID="CrystalReportSource1" AutoDataBind="true"/>
<br />
<CR:CrystalReportSource ID="CrystalReportSource1" runat="server" >
<Report FileName="../UpLoadFiles/shipment/template/Packing_List.rpt">
</Report>
</CR:CrystalReportSource>
...
后台:
...
ParameterFields paramFields = new ParameterFields();
ParameterField paramField = new ParameterField();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue(); paramField.ParameterFieldName = "@number";//第一个参数
discreteVal.Value = "20100115001";
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField); paramField = new ParameterField();
discreteVal = new ParameterDiscreteValue();
paramField.ParameterFieldName = "@Num";//第二个参数
discreteVal.Value = "20100115001";
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField); CrystalReportViewer1.ParameterFieldInfo = paramFields;
...
BUG显示为:
拒绝访问。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.COMException: 拒绝访问。
解决方案 »
- 点Datalist中的值如何触发后台事件
- VS2008 打开工程时错误
- 求ado.net 2.0编写较为规范的c#源码(c/s)
- 请教一下,如何编译目录中的CS文件成DLL?
- 分析一个结构问题?大家请进
- 高手请进,一个编译错误,帮看盾,谢了!
- 基于outlook过滤收件人问题(C#)
- 在datagridview中要选中一行数据修改或删除或添加的代码怎么写!
- 请问"退出本人做的电子商务网站“怎么编码
- 新手,求助
- IE6 下,div是盖不住dropdownlist 的,通用的做法是加一个IFRAME;加了后确实能够盖住,但是如果一滚动就又露出来了,请问怎么解决?
- 实现打开新的窗口后旧的窗口无法使用
1、我的VS2005有问题,在使用report.load(rptPath)的时候加载失败. 改用VS2008后再读取成功。
2、报表设置有误,公式设定有问题。