找回密码
 立即注册

QQ登录

只需一步,快速开始

muhuiru

社区贡献组

65

主题

203

帖子

580

积分

社区贡献组

积分
580

活字格认证

muhuiru
社区贡献组   /  发表于:2017-2-17 16:25  /   查看:6961  /  回复:10
这个预览报表传的数据集
这个是预览的结果

这个是到处excel传的数据集,调试时进入到了DataSet2

这个是Excel导出看到的结果,’处理意见及结果‘字体还变小了,第二个数据集内容不显示,这是不是不能传多个数据集


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

10 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-2-17 16:37:28
沙发
您用的是页面报表还是RDL 报表?

如果是页面报表就不能绑定多个数据集, 绑定多个数据集请使用RDL 报表。
回复 使用道具 举报
muhuiru
社区贡献组   /  发表于:2017-2-20 09:14:10
板凳
这是同一个报表 预览可以到处Excel就不行
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-20 12:14:01
地板
能否把报表模板等相关的文件发过来,我在这边看看是什么问题
回复 使用道具 举报
muhuiru
社区贡献组   /  发表于:2017-2-23 09:10:11
5#
这是我的报表模板,客户在系统中预览并导出Excel

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-2-23 10:04:54
6#
您导出Excel 的代码是什么?
我这边直接绑定数据源是可以导出成功的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
muhuiru
社区贡献组   /  发表于:2017-2-23 13:20:08
7#
//导出事件
        private void OK_Click(object sender, RoutedEventArgs e)
        {   
GrapeCity.ActiveReports.PageReport rpt;
            GrapeCity.ActiveReports.Document.PageDocument p = null;

            string _report_name = "陕西省国省干线及(农村)公路路政巡查记录.rdlx";
            rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(_report_name));
         
            p = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
            p.LocateDataSource += Rptd_LocateDataSource; //报表传入数据集
  System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(fileName);//导出文件到指定的路径下
            outputDirectory.Create();
            GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();
            excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xlsx;
            excelSetting.OpenXmlStandard = GrapeCity.ActiveReports.Export.Excel.Page.OpenXmlStandard.Transitional;
            excelSetting.Pagination = true;
            excelSetting.MultiSheet = true;
            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 outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(reportName));
            p.Render(excelRenderingExtension, outputProvider, excelSetting.GetSettings());
            CMessageBox.Show("导出成功!");
}

//报表传入数据集
        private void Rptd_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
        {
            if (args.DataSourceName == "DataSource1")
            {
                try
                {
                    if (reportName == "陕西省国省干线及(农村)公路路政巡查记录")
                    {
                        switch (args.DataSetName)
                        {
                            case "DataSet1":
                                #region 巡查内容
                                DataTable dtnewContent = new DataTable();
                                dtnewContent.Columns.Add("prowledQk_Content");

                                dsShiJian = new RIM.BLL.数据表_巡查情况及结果().GetModelList("FK_prowled_Id='" + _xcDataModel.prowled_Id + "'", " prowledQk_DateTime");
                                int i = 2;
                                foreach (RIM.Model.数据表_巡查情况及结果 row in dsShiJian)
                                {
                                    DataRow rownew = dtnewContent.NewRow();
                                    rownew["prowledQk_Content"] = i + "、" + row.prowledQk_Content.ToString();
                                    dtnewContent.Rows.Add(rownew);
                                    i++;
                                }
                                args.Data = dtnewContent;
                                #endregion
                                break;
                            case "DataSet2":
                                #region 巡查结果
                                RIM.BLL.数据表_巡查事件类型侵占路产BLL lucBLL = new RIM.BLL.数据表_巡查事件类型侵占路产BLL();
                                DataTable dtnew = new DataTable();
                                dtnew.Columns.Add("prowledQk_Jg");
                                if (dsShiJian == null)
                                {
                                    dsShiJian = new RIM.BLL.数据表_巡查情况及结果().GetModelList("FK_prowled_Id='" + _xcDataModel.prowled_Id + "'", " prowledQk_DateTime");
                                }

                                int i1 = 2;
                                foreach (RIM.Model.数据表_巡查情况及结果 row in dsShiJian)
                                {
                                    if (!string.IsNullOrEmpty(row.prowledQk_Jg))
                                    {
                                        DataRow rownew = dtnew.NewRow();
                                        rownew["prowledQk_Jg"] = "对" + i1 + "、" + row.prowledQk_Jg;
                                        dtnew.Rows.Add(rownew);

                                    }
                                    i1++;
                                }

                                DataRow rownew1 = dtnew.NewRow();
                                rownew1["prowledQk_Jg"] = _xcDataModel.prowled_Mak;
                                dtnew.Rows.Add(rownew1);

                                args.Data = dtnew;
                                #endregion
                                break;
                            case "DataSet3"://现场图片
                                #region 现场图片
                                DataTable dtnewImage = new DataTable();
                                dtnewImage.Columns.Add("imageId");
                                dtnewImage.Columns.Add("imageMaxPhotoName");
                                if (dsShiJian == null)
                                {
                                    dsShiJian = new RIM.BLL.数据表_巡查情况及结果().GetModelList("FK_prowled_Id='" + _xcDataModel.prowled_Id + "'", " prowledQk_DateTime");
                                }
                                int i3 = 2;
                                RIM.BLL.数据表_通用图片表BLL imagebll = new RIM.BLL.数据表_通用图片表BLL();
                                List<RIM.Model.数据表_通用图片表Model> imageModel;
                                foreach (RIM.Model.数据表_巡查情况及结果 row in dsShiJian)
                                {
                                    string strWhere = "imageMainTableName='数据表_巡查情况及结果' and FK_MainTableID='" + row.prowledQk_Id + "' and imageTypeName='现场照片' and FK_SiteID='" + RIM_WCF.系统缓存_字典表Model.SiteModel.unitID + "' ";
                                    imageModel = imagebll.GetModelList(strWhere, "数据表_巡查管理图片");
                                    if (imageModel.Count() > 0)
                                    {
                                        DataRow rownew = dtnewImage.NewRow();
                                        rownew["imageId"] = "对" + i3;
                                        rownew["imageMaxPhotoName"] = _RootBaseDirectory + imageModel.First().imageMaxPhotoName;
                                        dtnewImage.Rows.Add(rownew);
                                    }
                                    i3++;
                                }
                                args.Data = dtnewImage;
                                #endregion
                                break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    Common.WriteLog.CreateLog(ex, "导出巡查日志获取数据集异常!");
                }

            }
        }
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-2-23 14:23:12
8#
尝试在导出Excel 将这两个属性设置为 false

   excelSetting.Pagination = false;
            excelSetting.MultiSheet = false;
回复 使用道具 举报
muhuiru
社区贡献组   /  发表于:2017-2-24 16:03:17
9#
excelSetting.Pagination = false;
            excelSetting.MultiSheet = false;
设置成False好了
回复 使用道具 举报
muhuiru
社区贡献组   /  发表于:2017-2-24 16:04:30
10#
辛苦了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部