如何使用Stimulsoft Reports将导出的报告保存在客户端而不是服务器中
本文关键字:客户端 存在 服务器 保存 报告 Reports Stimulsoft 何使用 | 更新日期: 2023-09-27 18:31:01
我的 ASP.Net Web应用程序中有一个Stimulsoft报告。
我想使用此 C# 代码导出它。
report.ExportDocument(StiExportFormat.Excel2007, "d:''ExportedFile.xlsx", exportSettings);
但此代码将报表导出到服务器,而不是客户端。
如何将报告保存到客户的存储中?
您可以在报表上使用 ExportDocument() 方法
MemoryStream st = new MemoryStream();
report.ExportDocument(StiExportFormat.Excel2007, st);
你应该使用 StiReportResponse 类。它返回导出为指定格式的报表。
StiReportResponse.ResponseAsPdf(this, report);
StiReportResponse.ResponseAsExcel2007(this, report);
您可以在Stimulsoft编程手册中获取更多信息。
我自己找到了答案。
我应该将导出的数据写入 MemoryStream,而不是文件,然后将 MemoryStream 发送到当前 HttpContext 的响应。这样,将打开一个下载对话框,并询问客户端存储上的 donwload 路径。
MemoryStream memoryStream = new MemoryStream();
renderedReport.ExportDocument(StiExportFormat.Excel2007, memoryStream, exportSettings);
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "text/csv";
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=Emad.xlsx");
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.BinaryWrite(memoryStream.ToArray());
HttpContext.Current.Response.End();