02.27 DevExpress導出GridControl控件數據

前言:使用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屬性中定義的列名寫進表中,

如下圖所示:


DevExpress導出GridControl控件數據

原始數據導出


如果將這個顯示出來,然後讓用戶手動刪除,可能用戶體驗會非常不好。筆者在研究了一天的GridControl屬性之後,終於發現取消導入這個列名的屬性,具體做法為:

(1) 首先定位到你的UserControl中,然後找到GridControl控件,然後點擊Run Design之後,


DevExpress導出GridControl控件數據

Run Designer


(2) 然後進行圖片上的屬性設置,點擊左側的View屬性,然後找到右邊表格屬性框中OptionsPrint屬性列,點開之後設置PrintHeader為false(默認為true)即可,如下圖所示:


DevExpress導出GridControl控件數據

設置屬性


成功後截圖:


DevExpress導出GridControl控件數據

成功截圖


筆者心語:這一屬性是查閱了好多資料(網上對於相關問題解決方案真的很少,以後免不得跟這些控件打交道,遇到一個解決一個就立馬記下來),然後一遍遍的試錯才得到正確的結果,遇坑不怕,爬起來記住下次不掉坑才是最主要的。永遠不要停下前進的腳步!


分享到:


相關文章: