当前位置:首页 > 技术知识 > 正文内容

DevExpress导出GridControl控件数据

maynowei7个月前 (09-18)技术知识78

前言:使用C#做桌面应用时,我们会常常使用Winform作为我们的开发界面,但是windows自带的控件由于长时间不更新,已经不能够满足当前开发需要

所以使用DevExpress控件作为Winform的界面开发成为不二的选择。

1、DevExpress简介

DevExpress是 Developer Express的缩写,DevExpress是一家全球知名的控件开发公司

DevExpress有较多优秀产品,有套包也有子控件,在此仅对用户界面DXperience Universal Subscription该款套包控件做一个介绍:DEV宇宙版是一个.NET 平台的用户界面套装,它包含Grid、Chart、Reporting、Tree-Grid等100多个功能子控件,同时套包内包含Winform、WPF、Sliverlight、.net 版本和 .NET Application Framework 开发框架。

适用范围:各种桌面、Web应用程序开发,尤其是Winform应用程序开发。

2、DevExpress控件的优势

DevExpress 开发的控件有很强的实力,不仅功能丰富,应用简便,而且界面华丽,更可方便定制。

对于编程人员来说是个不错的选择。它的菜单栏控件更具代表,完全可以替代开发环境提供的基本控件,

而让您编写的程序或软件更显专业化。它还提供完善的帮助系统,资料详尽,可以快速入手。

有些高级控件更是零代码的,非常易于使用。与此同时,慧都科技针对DevExpress for .NET推出了官方汉化资源 ,

使该控件的英文界面、弹出框、右键菜单等翻译成中文,便于您的开发和使用,节约30%的项目开发时间。

3、导出GridControl控件的数据到Excel

直接撸代码:

public static void ExportData(GridControl control)

{

SaveFileDialog saveFileDialog = new SaveFileDialog();

saveFileDialog.Title = "导出Excel";

saveFileDialog.Filter = "Excel文件(*.pdf)|*.pdf";

saveFileDialog.Filter = "Excel文件(*.xls)|*.xls";

DialogResult dialogResult = saveFileDialog.ShowDialog();

if (dialogResult == DialogResult.OK)

{

DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions();

control.ExportToXls(saveFileDialog.FileName, options);


DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);

}

}

踩坑体验:这样直接导出会将GridControl控件的Columns属性中定义的列名写进表中,

如下图所示:



如果将这个显示出来,然后让用户手动删除,可能用户体验会非常不好。笔者在研究了一天的GridControl属性之后,终于发现取消导入这个列名的属性,具体做法为:

(1) 首先定位到你的UserControl中,然后找到GridControl控件,然后点击Run Design之后,



(2) 然后进行图片上的属性设置,点击左侧的View属性,然后找到右边表格属性框中OptionsPrint属性列,点开之后设置PrintHeader为false(默认为true)即可,如下图所示:



成功后截图:



笔者心语:这一属性是查阅了好多资料(网上对于相关问题解决方案真的很少,以后免不得跟这些控件打交道,遇到一个解决一个就立马记下来),然后一遍遍的试错才得到正确的结果,遇坑不怕,爬起来记住下次不掉坑才是最主要的。永远不要停下前进的脚步!

相关文章

作为初级产品汪,我是这么理解APP登录注册功能的

目前大多数产品都有登录注册功能,有的有自身平台账号体系,有的依靠大平台账号体系授权登录。接下来我跟大家分享一下我对登录注册功能的理解。登录注册的根本意义登录注册,众所周知,就是创建的ID,然后访问(操...

记录程序第一天挖漏洞的过程(挖漏洞需要学什么语言)

第一个漏洞复现fastjson漏洞说明:在本地这个fastjson会出现问题复现的过程生成一个java文件进行攻击注入的方式javac Exploit.java但是必须编译成.class文件才能执行p...

android培训学习的大纲(安卓app培训)

第一阶段android基础:1.基础javaJava概述,进制,数据类型,常量变量,运算符,表达式关系运算符,逻辑运算符,if语句,switch语句while循环,do...while循环,for循环...

Shopee新手指南:Shopee卖家中心用户界面介绍

1.Shopee各站点前台网页链接:2.Shopee各站点后台网页链接3.Shopee APP下载:安卓版下载链接:https://pan.baidu.com/s/1eSp8M1k#list/path...

CPU「离奇」飙到 100%!开发者挖出 Linux 内核 16 年老 Bug:这么多年竟无人发现?

【CSDN 编者按】每一次对旧设备的升级都仿佛是一场跨越时代的冒险。本文作者致力于将基于 PXA166 的 Chumby 8 设备从 Linux 2.6.28 版本升级到现代 6.x 版本,然而,在看...

c++ 继承简介(c++继承的概念)

24.1 — 继承简介2024 年 6 月 5 日在上一章中,我们讨论了对象组合,即从更简单的类和类型构建复杂类。对象组合非常适合构建与其部分具有“has-a”关系的新对象。但是,对象组合只是 C++...