DEV GridControl导出到Excel或打印

//方法1
SaveFileDialog 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();//进行预览

 

posted @ 2016-12-09 15:09  helloEveryBody0821  阅读(6431)  评论(0编辑  收藏  举报