private void tsbExportToExcel_Click(object sender, EventArgs e)
{
// Provide settings for your rendering output.
GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();
excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xls;
GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = excelSetting;
// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension excelRenderingExtension = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
// Overwrite output file if it already exists.
outputProvider.OverwriteOutputFile = true;
reportDocument.Render(excelRenderingExtension, outputProvider, excelSetting.GetSettings());
}还有您说的关于参数传值的问题,您是想传参数给报表是吧,哪你设计的报表就应该是参数报表。然后需要给您设计的报表传递一个参数。
后台参数这样传递:
definition = (PageReport)base.OnCreateReportHandler(reportPath);
definition.Report.ReportParameters.DefaultValue.Values.Add("123");
hi Kearney, 之前因为一直忙其他的,这个暂停了,但问题其实还没解决
看了你给的例子,但你的方法好像只能写在 ActiveReports.ReportService.asmx.cs文件里是么
我们的项目里有好多的报表,只有一个报表有这个需求(不能影响其他报表),而且需要在其他的.cs文件中写调用导出的方法,但把例子里的方法拿到外面后无法编译通过,更无法运行,应该怎么做呢 您好!
导出Excel的方法就只有我提供的这几种办法。如果只有一个报表有这种需求,您可以写一个判断语句来进行判断执行。
hi, 我们参考http://blog.gcpowertools.com.cn/post/ExportRender.aspx 这个帖子里的第二种Render方法,可以从后台调用报表输出文件,文件可以输出,但数据却是空的,无论用rdlx中自带的数据源(sqlserver)还是自己制定数据源都不行,后台调用方法如下,rdlx文件随便用哪个都一样结果,麻烦请帮忙看一下是哪里的问题,谢谢!
public override void Execute(ServiceParamater paramater)
{
GrapeCity.ActiveReports.PageReport definition1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(@"C:\WorkSpace\aliyun\TPMSJF - 副本\WebUI\TPM.WebMVC\Reports\ReportActivityDetail.rdlx"));
definition1.Run();
//definition1.Report.DataSources.DataSourceReference = "";
//definition1.Report.DataSources.ConnectionProperties.DataProvider = "SQL";
//definition1.Report.DataSources.ConnectionProperties.ConnectString = string.Format("Data Source=192.168.1.220;Initial Catalog=TPM_SJF_Develop;User Id=sa;pwd=sa");
GrapeCity.ActiveReports.Document.PageDocument _reportRuntime = new GrapeCity.ActiveReports.Document.PageDocument(definition1);
//_reportRuntime.LocateDataSource += new LocateDataSourceEventHandler(Document_LocateDataSource);
//PageReport definition1 = (PageReport)base.OnCreateReportHandler(Server.MapPath("~/Reports/ReportActivityDetail.rdlx"));
ExportToPdf(definition1.Document);
}
private void ExportToPdf(PageDocument pageDocument)
{
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\Demo");
outputDirectory.Create();
// Provide settings for your rendering output.
GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSetting = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();
GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = pdfSetting;
//Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension pdfRenderingExtension = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
pageDocument.Render(pdfRenderingExtension, outputProvider, pdfSetting, true);
}
您好您把报表在设计的时候直接绑定数据源,然后用下面这种Render导出的方法试试:
GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport();GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(report);
// Create an output directory.
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\MyExcel");
outputDirectory.Create();
// Provide settings for your rendering output.
GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();
excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xls;
GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = excelSetting;
// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension excelRenderingExtension = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
// Overwrite output file if it already exists.
outputProvider.OverwriteOutputFile = true;
reportDocument.Render(excelRenderingExtension, outputProvider, excelSetting.GetSettings());
上面你给出来的代码和例子里有区别么,例子里的代码我们试过,导出的文件无数据,你的可以成功吗能否给个例子
我们的rdlx报表在设计时绑定了共享数据源,比如如附件的报表,换一个报表结果也是一样的 您好!我这边试了是可以的。我是绑定的动态数据源验证的,导出的Excel文件是有数据的
调式运行成功后,点击下面截图的导出按钮。
终于试好了,非常感谢! 好的!祝您工作愉快:)
页:
1
[2]