ming 发表于 2016-12-9 14:21:17

AR10报表导出EXCEL格式取消多个sheet参数无效

本帖最后由 ming 于 2016-12-9 14:35 编辑

因客户协议要求,系统数据必须保密,以下截图,相关数据部分作了遮盖处理,望见谅。
如题,代码截图如下:

excel 输出截图如下:



请问为何设置无效

Lenka.Guo 发表于 2016-12-9 14:41:01

不好意思,无法看到您的截图。

您是想在到处Excel 时将报表保存为一个Sheet。
把excelsetting 的MultiSheet 设置为false:   GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();
            excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xls;
            excelSetting.OpenXmlStandard = GrapeCity.ActiveReports.Export.Excel.Page.OpenXmlStandard.Transitional;
            excelSetting.Pagination = false;
            excelSetting.MultiSheet = false;GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = excelSetting;

            GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension excelRenderingExtension = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension();
            GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outprovider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileName("outputDirectory.Name"));
            reportDocument.Render(excelRenderingExtension, outprovider, excelSetting.GetSettings());

ming 发表于 2016-12-9 14:42:48

截图粘上去后不显示,刚在帖子后面另外附了三张图片,麻烦再看看

ming 发表于 2016-12-9 15:06:57

请问section report要如何设置

Lenka.Guo 发表于 2016-12-9 15:07:15

ming 发表于 2016-12-9 14:42
截图粘上去后不显示,刚在帖子后面另外附了三张图片,麻烦再看看

您尝试把到处代码换成下面的代码:

GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport("报表路径");
            GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(rpt);

            System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"D:\Demo");
            outputDirectory.Create();

            GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();
            excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xls;
            excelSetting.OpenXmlStandard = GrapeCity.ActiveReports.Export.Excel.Page.OpenXmlStandard.Strict;
            excelSetting.Pagination = false;
            excelSetting.MultiSheet = false;
            GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = excelSetting;

            GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension excelRenderingExtension = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension();
            GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outprovider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileName("outputDirectory.Name"));
            reportDocument.Render(excelRenderingExtension, outprovider, excelSetting.GetSettings());

ming 发表于 2016-12-9 15:48:30

请问section report要如何设置,不好意思,刚刚用AR10,还没弄清楚page report 与 section report的区别

Lenka.Guo 发表于 2016-12-9 17:11:08

ming 发表于 2016-12-9 15:48
请问section report要如何设置,不好意思,刚刚用AR10,还没弄清楚page report 与 section report的区别

没关系,我在这边使用以下代码到处区域报表是正常的:

    sr = new SectionReport1();
            sr.Run();
            reportDocument = sr.Document;
            GrapeCity.ActiveReports.Export.Excel.Section.XlsExport xlsExport1 = new GrapeCity.ActiveReports.Export.Excel.Section.XlsExport();
            xlsExport1.FileFormat = GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.Xlsx;
            xlsExport1.MultiSheet = false;

            xlsExport1.Export(reportDocument, @"D:\Demo\\" + "\\XLSExpt.xlsx");



ming 发表于 2016-12-12 13:38:49

我的代码与你的是一样的,但输出还是多个sheet的,我看你的输出的截图列太少了,可能触发不到输出多个sheet的效果,麻烦你能否输出多点列看看,附上我的代码

                   GrapeCity.ActiveReports.Export.Excel.Section.XlsExport XlsExport1 = new GrapeCity.ActiveReports.Export.Excel.Section.XlsExport();
                        XlsExport1.FileFormat = GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.Xlsx;
                        XlsExport1.MultiSheet = false; //设置EXCEL文件导出超页部分不分sheet

                        PageExport tempQualifier = ((PageExport)cmbExportFormat.SelectedItem);
                        string filePath = exportSaveFileDialog.FileName;
                        StreamProvider StreamProvider = new FileStreamProvider(new DirectoryInfo(Path.GetDirectoryName(filePath)), Path.GetFileNameWithoutExtension(filePath));
                        _reportViewer.Render(tempQualifier.RenderingExtension, StreamProvider, tempQualifier.Settings.GetSettings());
                        MessageBox.Show(((PageExport)cmbExportFormat.SelectedItem).DisplayName + " " + Properties.Resources.ExportCompleteString);

Lenka.Guo 发表于 2016-12-12 15:02:18

您的代码中 XlsExport1 未被调用,您先把导出代码先替换成7#给出的代码,或者如果您的报表可以直接在报表设计器中预览,您直接使用报表设计器带的导出功能,验证导出效果是否正常。

ming 发表于 2016-12-14 12:58:05

已经解决,非常感谢
页: [1] 2
查看完整版本: AR10报表导出EXCEL格式取消多个sheet参数无效