• dev gridcontrol 导出到excel


            /// <summary>
            /// 保存Excel文件,.xlsx
            /// </summary>
            /// <param name="gridView">数据源</param>
            /// <param name="fileNameOrSheetName">保存的文件名或工作名</param>
            public static void ExportExcel(DevExpress.XtraGrid.Views.Grid.GridView gridView, string fileNameOrSheetName)
            {
                if (gridView.RowCount > 0)
                {
                    var export = true;
                    SaveFileDialog saveFileDialog = new SaveFileDialog();
                    saveFileDialog.Title = "导出Excel";
                    saveFileDialog.Filter = "Excel文件(*.xlsx)|*.xlsx";
                    saveFileDialog.FileName = fileNameOrSheetName + "_" + DateTime.Now.ToString("yyyyMMddhhmmss");
    
                    if (saveFileDialog.ShowDialog() == DialogResult.OK)
                    {
                        DevExpress.XtraPrinting.XlsxExportOptionsEx op = new DevExpress.XtraPrinting.XlsxExportOptionsEx();
    
                        op.ExportType = DevExpress.Export.ExportType.WYSIWYG;//所见即所得
                        op.ExportMode = DevExpress.XtraPrinting.XlsxExportMode.SingleFile;//指定XLSX导出模式-->单一文件
                        op.TextExportMode = DevExpress.XtraPrinting.TextExportMode.Value;//指定是否在导出的XLS(或XLSX)文档中使用绑定数据集中的数据字段的格式-->使用与原始文档中相同的格式
                        op.SheetName = fileNameOrSheetName;//工作簿名称
    
                        gridView.OptionsPrint.PrintHeader = true;//是否打印行头
                        gridView.OptionsPrint.AutoWidth = false;//获取或设置输出/导出输出中的列的宽度是否会自动改变,以便视图与页面宽度相匹配。
                        gridView.OptionsPrint.AllowCancelPrintExport = true;  //获取或设置打印/导出进度窗口是否包含一个取消按钮,这允许终端用户取消当前的打印/导出操作。
                        gridView.AppearancePrint.HeaderPanel.Font = new System.Drawing.Font("微软雅黑", 10);
                        gridView.AppearancePrint.Row.Font = new System.Drawing.Font("微软雅黑", 10);
                        gridView.AppearancePrint.FooterPanel.Font = new System.Drawing.Font("微软雅黑", 10);
    
                        try
                        {
                            gridView.ExportToXlsx(saveFileDialog.FileName, op);
                        }
                        catch (Exception ex)
                        {
                            DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message);
                            export = false;
                        }
                        if (export)
                        {
                            if (DevExpress.XtraEditors.XtraMessageBox.Show("导出成功,是否打开文件?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                                System.Diagnostics.Process.Start(saveFileDialog.FileName);
                        }
                    }
                }
                else XtraMessageBox.Show("无数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            /// <summary>
            /// 保存Excel文件,.xls
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public void ExportExcel2(DevExpress.XtraGrid.GridControl gridcontrol, string fileNameOrSheetName)//(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
            {
                if (gridcontrol.MainView.RowCount > 0)
                {
                    var export = true;
                    SaveFileDialog saveFileDialog = new SaveFileDialog();
                    saveFileDialog.Title = "导出Excel";
                    saveFileDialog.Filter = "Excel文件(*.xls)|*.xls";
                    saveFileDialog.FileName = fileNameOrSheetName + "_" + DateTime.Now.ToString("yyyyMMddhhmmss");
                    if (saveFileDialog.ShowDialog(this) == DialogResult.OK)
                    {
                        //DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions();
                        //options.ExportMode = XlsExportMode.SingleFile;//指定XLSX导出模式-->单一文件
                        //options.TextExportMode = DevExpress.XtraPrinting.TextExportMode.Value;//指定是否在导出的XLS(或XLSX)文档中使用绑定数据集中的数据字段的格式-->使用与原始文档中相同的格式
                        //options.SheetName = fileNameOrSheetName;//工作簿名称
                        try
                        {
                            gridcontrol.ExportToXls(saveFileDialog.FileName);
                        }
                        catch (Exception ex)
                        {
                            DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message);
                            export = false;
                        }
                        if (export)
                        {
                            if (DevExpress.XtraEditors.XtraMessageBox.Show("导出成功,是否打开文件?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                                System.Diagnostics.Process.Start(saveFileDialog.FileName);
                        }
                    }
                }
                else XtraMessageBox.Show("无数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }

    其它相关链接参考:

    【CSDN博客】 php 导出excel 进度条显示
    http://blog.csdn.net/xiaowan206/article/details/78518794
    【CSDN下载】 Excel 批量上传 批量 处理 进度条
    http://download.csdn.net/download/mike0906/6559861
    【CSDN下载】 Excel导入DataGridView和SQL 带进度条
    http://download.csdn.net/download/oumigai/9922604
    【CSDN下载】 (兼容XP系统)多线程异步编程带进度条的利用Excel模版报表转换
    http://download.csdn.net/download/yangyanghaoran/4574325
    【CSDN博客】 VBA 两个Excel对比 操作(带进度条)
    http://blog.csdn.net/xiaoqingwuku/article/details/12966805
    【CSDN博客】 在ASP.NET中将Excel文件中数据导入数据库并显示进度条
    http://blog.csdn.net/jasonwu_bj/article/details/6112146
    【CSDN博客】 (转).net中导入excel文件显示进度条
    http://blog.csdn.net/wanderball/article/details/7733654
    【CSDN博客】 .net导入Excel 并显示进度条
    http://blog.csdn.net/yelin042/article/details/76602429
    【CSDN下载】 duilib 做的Demo ,支持进度条,以及动态修改xml 的内容
    http://download.csdn.net/download/cnsqq_mapan/5699847
    【CSDN博客】 ios 使用NSURlSession 下载文件并且使用进度条进行文件下载进度读取以及打开附件(word,excel,ppt,pdf)显
    http://blog.csdn.net/georgehenrywilliam/article/details/53374307

    DevExpress GridControl使用经验总结:
    http://www.360doc.com/content/14/0429/15/10893884_373218734.shtml

  • 相关阅读:
    Remove Duplicates from Sorted List
    Reverse Linked List II
    Remove Duplicates from Sorted List II
    Partition List
    iterator指针指向的元素
    Debug Assertion Failed! (VS)
    创建触发器,动作发送邮件到邮箱
    创建独立的监控模板
    zabbix添加被监控主机,内置的监控项,查看监控数据
    Oracle的sql脚本--->>Mysql的sql脚本
  • 原文地址:https://www.cnblogs.com/xifengyeluo/p/8193739.html
Copyright © 2020-2023  润新知