DevExpress 利用动态创建GridControl导出Excel,并不显示在界面上

2024-06-23 11:18

本文主要是介绍DevExpress 利用动态创建GridControl导出Excel,并不显示在界面上,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

正常情况下,GridControl显示在界面上直接导出数据到excel是没问题的,
在动态创建的时候如果不显示在界面上并不会把数据导到excel,一般的解决方法都是先添加导出后再隐藏或者释放掉,这种方法虽然如愿导出了数据,但是,想一想,这不是很多余么。
大伙有没有想过为什么显示到界面的时候才能导出数据内容呢?其实原理很简单,当对GridControl绑定数据的时候,就会在Form上实例化了 BindingContext对象,Ok知道这个情况,这样问题就很好解决了,只要在代码中直接实例化这个对象不就不需要到Form上自动实例化了么,

利用这个原理写了以下方法

/// <summary>/// 通过GridControl导出Excel/// </summary>/// <param name="dt"></param>/// <param name="fileName"></param>public static void ExportByGridControl(DataTable dt,string fileName){using (DevExpress.Utils.WaitDialogForm dlg = new DevExpress.Utils.WaitDialogForm("请稍等", "保存中...", new Size(100, 50))){try{GridControl grid = new GridControl();grid.BindingContext = new BindingContext();//绑定内容实例,否则需要在界面显示才会自动实例GridView view = new GridView(grid);grid.MainView = view;grid.DataSource = dt;grid.ForceInitialize();//强制初始化grid.ExportToXlsx(fileName);if(DialogResult.Yes== XtraMessageBox.Show("导出成功,是否打开文件","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information))System.Diagnostics.Process.Start(fileName);}catch(Exception ex){XtraMessageBox.Show("导出失败:" + ex.Message);}}}void MethodTest(){DataTable dt = new DataTable();dt.Columns.Add("Name");dt.Rows.Add("涛神厉害");dt.Rows.Add("涛神牛逼");ExportByGridControl(dt, "E:\\涛神.xlsx");}


这篇关于DevExpress 利用动态创建GridControl导出Excel,并不显示在界面上的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087000

相关文章

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

Python Pandas高效处理Excel数据完整指南

《PythonPandas高效处理Excel数据完整指南》在数据驱动的时代,Excel仍是大量企业存储核心数据的工具,Python的Pandas库凭借其向量化计算、内存优化和丰富的数据处理接口,成为... 目录一、环境搭建与数据读取1.1 基础环境配置1.2 数据高效载入技巧二、数据清洗核心战术2.1 缺失

利用Python实现Excel文件智能合并工具

《利用Python实现Excel文件智能合并工具》有时候,我们需要将多个Excel文件按照特定顺序合并成一个文件,这样可以更方便地进行后续的数据处理和分析,下面我们看看如何使用Python实现Exce... 目录运行结果为什么需要这个工具技术实现工具的核心功能代码解析使用示例工具优化与扩展有时候,我们需要将