前言:使用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)即可,如下圖所示:
成功後截圖:
筆者心語:這一屬性是查閱了好多資料(網上對於相關問題解決方案真的很少,以後免不得跟這些控件打交道,遇到一個解決一個就立馬記下來),然後一遍遍的試錯才得到正確的結果,遇坑不怕,爬起來記住下次不掉坑才是最主要的。永遠不要停下前進的腳步!
閱讀更多 努力的浩浩 的文章