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

转载于:https://www.cnblogs.com/xifengyeluo/p/8193739.html

您可以使用以下代码示例将多个表导出到多个工作表,并自定义每个工作表的名称: ```csharp using DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraSpreadsheet; using DevExpress.XtraSpreadsheet.Export; using System.IO; // 创建一个 SpreadsheetControl 实例 SpreadsheetControl spreadsheetControl = new SpreadsheetControl(); // 加载 Excel 文件 spreadsheetControl.LoadDocument("path_to_excel_file"); // 创建一个导出器实例 GridControlExporter exporter = new GridControlExporter(); // 设置导出选项 exporter.OptionsPrint.PrintDetails = true; // 导出细节视图 exporter.OptionsPrint.PrintSelectedRowsOnly = false; // 导出所有行 exporter.OptionsPrint.PrintGroupFooters = DevExpress.Utils.DefaultBoolean.False; // 不打印分组页脚 // 遍历每个 GridControl 及其对应的 GridView foreach (var gridControl in gridControls) { GridView gridView = gridControl.MainView as GridView; string sheetName = "CustomSheetName"; // 自定义的工作表名称 // 创建一个新的工作表 Worksheet worksheet = spreadsheetControl.Document.Worksheets.Add(); worksheet.Name = sheetName; // 将 GridControl 导出到工作表 exporter.Export(gridView, worksheet, null, null); } // 保存导出Excel 文件 using (MemoryStream stream = new MemoryStream()) { spreadsheetControl.SaveDocument(stream, DocumentFormat.Xlsx); File.WriteAllBytes("path_to_exported_excel_file", stream.ToArray()); } ``` 请注意,上述代码中的 `gridControls` 是一个包含要导出GridControl 的集合。您可以根据您的实际情况进行调整和修改。 希望这可以帮助到您!如有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值