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();

记录一下。
