hjb

DevExpress PivotGrid导出

电脑版发表于:2022/4/25 14:52

控件原始导出代码+效果:

this.pivotGridControl1.ExportToXlsx(s.FileName)


由于导出数据有折叠,不方便筛选,也不够直观,想要的效果就是正常的行数据显示。
解决思路:这个控件可以设置一些打印的属性,导出时调用打印界面的导出即可。
打印代码和效果:

this.pivotGridControl1.ShowPrintPreview();



1.在控件Run Designer 设置打印属性,如图:

2.后台代码:

        private void ExportBtn_Click(object sender, EventArgs e)
        {
            SaveFileDialog s = new SaveFileDialog();
            s.FileName = "测试";
            s.Filter = "Excel|*.xlsx|All|*.*";
            if (s.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    PrintingSystem ps = new PrintingSystem();
                    CompositeLink link = new CompositeLink(ps);
                    ps.Links.Add(link);

                    PrintableComponentLink printableLink = new PrintableComponentLink() { Component = this.pivotGridControl1 };
                    link.Links.Add(printableLink);
                    link.Landscape = true;//横向

                    XlsxExportOptions options = new XlsxExportOptions();
                    link.ExportToXlsx(s.FileName, options);

                    if (XtraMessageBox.Show(this, "导出成功,是否预览?", "消息", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                    {
                        System.Diagnostics.Process.Start(s.FileName);
                    }
                }
                catch
                {
                    XtraMessageBox.Show(this, "导出失败!", "消息");
                }
            }
        }


当grid上被折叠时,导出的数据是合并的,只需要在导出之前将所有数据展开即可。

this.pivotGridField1.ExpandAll();



记录一下。




关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢