BandGridview默認導出的是Columns的列頭信息,而不是Bands的列頭信息,為了實現導出多層行頭。代碼如下
1 public static void ExportExcel2(DevExpress.XtraGrid.Views.BandedGrid.BandedGridView bandedGridView) 2 { 3 SaveFileDialog saveFileDialog = new SaveFileDialog(); 4 saveFileDialog.Title = "導出Excel"; 5 saveFileDialog.Filter = "Excel文件(*.xlsx)|*.xlsx"; 6 DialogResult dialogResult = saveFileDialog.ShowDialog(); 7 if (dialogResult == DialogResult.OK) 8 { 9 DevExpress.XtraPrinting.XlsxExportOptionsEx op = new DevExpress.XtraPrinting.XlsxExportOptionsEx(); 10 11 op.ExportType = DevExpress.Export.ExportType.WYSIWYG; 12 bandedGridView.OptionsPrint.PrintHeader = false; 13 bandedGridView.OptionsPrint.AutoWidth = false; 14 bandedGridView.ExportToXlsx(saveFileDialog.FileName, op); 15 DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); 16 } 17 }
其中需注意幾點:
1.有兩種Options:DevExpress.XtraPrinting.XlsxExportOptions和DevExpress.XtraPrinting.XlsxExportOptionsEx,需使用:DevExpress.XtraPrinting.XlsxExportOptionsEx;
2.DevExpress.Export.ExportType的方式有兩種:DataAware和WYSIWYG;默認為DataAware,需設置為WYSIWYG;
3.OptionsPrint下的各屬性默認值都為true,需設置PrintHeader = false(不顯示列頭)和AutoWidth = false(不自適應寬度)