DEV GridControl导出到Excel或打印

//方法1SaveFileDialog fileDialog = new SaveFileDialog();
fileDialog.Title = "导出Excel";
fileDialog.Filter = "Excel文件(*.xls)|*.xls";
DialogResult dialogResult = fileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions();
gridControl1.ExportToXls(fileDialog.FileName);
DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
//方法2
    public override void ImportExcel()
        {
            if (XtraMessageBox.Show("确定要将本页面数据导入到Excel内?") == DialogResult.OK)
            {
                try
                {
                    if (this.DataSourceTable == null || this.DataSourceTable.Rows.Count == 0)
                    {
                        XtraMessageBox.Show("没有数据要导出!");
                        return;
                    }
                    this.SaveFileDialog.Filter = "Excel文件(*.xls)|*.xls";
                    if (this.SaveFileDialog.ShowDialog(this) == DialogResult.OK)
                    {
                        BaseFormFactory.ProcessFactory.Show(this, "数据导出开始");
                        ExportTo(new DevExpress.XtraExport.ExportXlsProvider(this.SaveFileDialog.FileName));
                    }

                                  }
                catch (Exception vErr)
                {
                    XtraMessageBox.Show("导出数据失败!错误源:" + vErr.Message);
                }
                finally
                {
                    BaseFormFactory.ProcessFactory.Close();
                    XtraMessageBox.Show("导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
        private void ExportTo(DevExpress.XtraExport.IExportProvider provider)
        {
            DevExpress.XtraGrid.Export.BaseExportLink link = this.gridData.gridView2.CreateExportLink(provider);
            (link as DevExpress.XtraGrid.Export.GridViewExportLink).ExpandAll = false;
            link.ExportTo(true);
            provider.Dispose();
        }    

打印

PrintingSystem print = new DevExpress.XtraPrinting.PrintingSystem();
            PrintableComponentLink link = new PrintableComponentLink(print);
            print.Links.Add(link);
            link.Component = (currentControl as GridControl);//这里可以是可打印的部件
            PageHeaderFooter phf = link.PageHeaderFooter as PageHeaderFooter;
            phf.Header.Content.Clear();
            phf.Header.Content.AddRange(new string[] { "", "", "" });
            phf.Header.Font = new System.Drawing.Font("宋体", 14, System.Drawing.FontStyle.Bold);
            phf.Header.LineAlignment = BrickAlignment.Center;
            link.CreateDocument(); //建立文档
            print.PreviewFormEx.Show();//进行预览

本文来自博客园,作者:云辰,转载请注明原文链接:https://www.cnblogs.com/yunchen/p/13753762.html

原文地址:https://www.cnblogs.com/yunchen/p/13753762.html