AR连续导出多次Excel数据为空
你好!我们软件现在有一个需求,就是同一张表批量导出Excel。我的实现方法是依次取数据加载模板,再导出。但是发现AR在导出Excel时应该是异步处理的,我在导出的过程中加上信号量等同步,也没能够处理。附件中是我做的一个示例,请帮我看看,或者有没有其它方法,谢谢!
您好,
run的方法中,提供了异步的模式,可以参考AR的文档(下载中带的CHM文件)
Run(Boolean) Starts report execution and optionally keeps any linked viewer control document in sync with the report's document.
Run() Starts the report processing in blocked mode.
调整了初始化的顺序
SectionReport1 report;
public MainWindow()
{
InitializeComponent();
report = new SectionReport1();
report.DataSource = getData();
report.DataMember = "Table";
report.Run(false);
this.MyView.LoadDocument(report);
}
GrapeCity.ActiveReports.Export.Excel.Section.XlsExport XlsExport1 = new GrapeCity.ActiveReports.Export.Excel.Section.XlsExport();
XlsExport1.FileFormat = GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.Xlsx;
XlsExport1.Export(report.Document, strName);
回复 2楼frank.zhang的帖子
你好,例子程序是用的SectionReport,请问PageReport也有这个同步机制吗?如果有,怎么实现。 您好,
目前没有RDL报表的例子程序,我可以给您制作一个例子程序,但是制作例子程序需要时间,我下周一给您回复。 您好,
RDL导出程序在代码上和区域报表不同,Render是AR9最新的导出excel的方法,做了很多优化
可以参考:
GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(@"..\..\RdlReport1.rdlx"));
GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(report);
// Create an output directory
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@".");
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, name);
reportDocument.Render(excelRenderingExtension, outputProvider, excelSetting.GetSettings());
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062 您好,
这个问题是否已经解决了呢?
我看您给我们的服务评价了1分,我们的服务是否有需要提高和改进的地方呢?
页:
[1]