使用DevExpress的Grid自动打印,导出

我们在写项目的时候,总会遇到一些数据的打印和导出,开始在想得时候真的很困难,但是最后还是解决了,所有分享一下,以后对自己有用
   /// <summary>
        /// 打印信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barButtonItem4_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            //指定应用于单页单页设置
            PageSettings set_print_page = new PageSettings();
            //自动打印
            DynamicPrintHelper ph = new DynamicPrintHelper();
            if (ph.IsPrintingAvailable)
            {
                //设置自动打印属性
                ph.PageSettings = set_print_page;
                ph.PageSettings.Landscape = true;
                //打印gridview页面
                ph.ShowPreview(this.gridControl1, true);
            }
/// <summary>
        /// 实现导出功能
        /// </summary>
        /// <param name="bv"></param>
        /// <param name="provider"></param>
        public static void ExportTo(BaseView bv,IExportProvider provider)
        {
            //用于绘制鼠标指针图像
            Cursor currentCursor = Cursor.Current;
            Cursor.Current = Cursors.WaitCursor;
            BaseExportLink link = bv.CreateExportLink(provider);
            link.ExportTo(true);
            Cursor.Current = currentCursor;
         }

        /// <summary>
        /// 设置弹出一个保存文件对话框
        /// </summary>
        /// <param name="title"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        public static string ShowSaveFileDialog(string title, string filter)
        {
            //打开文件对话框
            SaveFileDialog dlg = new SaveFileDialog();
            //默认的文件名
            string name = "导出文件";
            //设置标题栏
            dlg.Title = "导出到 " + title;
            //设置默认文件名
            dlg.FileName = name;
            dlg.Filter = filter;
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                //返回文件名
                return dlg.FileName;

            }
            return "";
        
       }
        /// <summary>
        /// 导出到excel的事件方法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barButtonItem5_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            try
            {
                //打开导出文件保存对话款
                string fileName = ShowSaveFileDialog("Microsoft Excel Document", "Microsoft Excel|*.xls");
                //文件不为空
                if (fileName != "")
                {
                    //调用导出方法
                    ExportTo(gridView1, new ExportXlsProvider(fileName));
                }
            }
            catch (Exception ex)
            {
                //捕捉异常
                MessageBox.Show(ex.Message.ToString());
                return;
            }

        }

导出的时候还可以用下面的方法,会更加的方便和简洁
/// <summary>
        /// 导出到excel的事件方法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barButtonItem导出_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
                //保存对话框
                SaveFileDialog sfd = new SaveFileDialog();
                //默认的文件名
                string name = "假劣药信息";
                //设置默认文件名
                sfd.FileName = name;
                //设置标题栏
                sfd.Title = "导出文件到" + name+"文件中";
                //设置导出的文件格式
                sfd.Filter = "XLS|*.XLS";
                //弹出保存对话框
                sfd.ShowDialog();
                //如果文件名不为空
                if (sfd.FileName != null)
                {
                    //导出该文件
                    this.gridControl信息显示.ExportToXls(sfd.FileName);
                }

            }
            catch (Exception es)
            {
                MessageBox.Show(es.Message);
                return;
            }
        }
原文地址:https://www.cnblogs.com/lhj588/p/2743143.html