DevExpress中GridView Excel下载

  DevExpress中GridView提供了许多Excel下载的方法,如gridView.ExportToExcelOld(sfdExcelDown.FileName); 在修改Bug时,遇到这样问题,ExportToExcelOld方法在第一次下载时,Excel样式正常,但覆盖第一次下载的Excel后,Excel的样式将发生改变,在做上传Excel操作时,引起错误!!

下面没有直接使用GridView的方法,调用该方法,覆盖下载的Excel后,样式不会改变:

 1         private void ExcelSampleDown(GridView gridView)

 2         {

 3 

 4             SaveFileDialog sfdExcelDown = new SaveFileDialog();

 5 

 6             System.IO.DriveInfo[] allDrives = System.IO.DriveInfo.GetDrives();

 7             string disk = "";

 8             foreach (System.IO.DriveInfo d in allDrives)

 9             {

10                 if (d.Name.Contains("Client") || d.DriveType == System.IO.DriveType.Network)

11                 {

12                     disk = d.Name;

13                     break;

14                 }

15             }

16 

17             sfdExcelDown.InitialDirectory = disk;

18 

19             sfdExcelDown.Filter = "Microsoft Excel|*.xls";

20             DialogResult result = sfdExcelDown.ShowDialog();

21             if (result != DialogResult.OK) return;

22 

23             if (!FormUtil.CheckFileNameRegex(System.IO.Path.GetFileName(sfdExcelDown.FileName)))

24             {

25                 FormUtil.ShowMessage(FormUtil.MessageType.ALERT, FormUtil.MessageLevel.WANNING, "COM095");//多语言 文件路径不对

26                 return;

27             }

28 

29             if (FileStatus.FileIsOpen(sfdExcelDown.FileName) == 1)

30             {

31                 FormUtil.ShowMessage(FormUtil.MessageType.ALERT, FormUtil.MessageLevel.INFORMATION, "CEM133");//多语言 文件已打开,请关闭文件,重新操作

32                 return;

33             }

34 

35             DevExpress.XtraExport.ExportXlsProvider provider = new DevExpress.XtraExport.ExportXlsProvider(sfdExcelDown.FileName);

36             Cursor currentCursor = Cursor.Current;

37             Cursor.Current = Cursors.WaitCursor;

38             this.FindForm().Refresh();

39             DevExpress.XtraGrid.Export.BaseExportLink link = gridView.CreateExportLink(provider);

40             (link as DevExpress.XtraGrid.Export.GridViewExportLink).ExpandAll = false;

41             link.ExportTo(true);

42             provider.Dispose();

43             Cursor.Current = currentCursor;

44 

45             //gridView.ExportToExcelOld(sfdExcelDown.FileName);DevExpress中的方法,该方法在二次覆盖文件时,会改变Excel样式

46         }


虽然问题解决了,但不清楚gridView.ExportToExcelOld(sfdExcelDown.FileName);到底进行了什么操作从而引起覆盖时错误???

下载Excel正常情况:

DevExpress中GridView Excel下载

 

覆盖后不正常Excel,标题背景样式和边界样式没有了:

DevExpress中GridView Excel下载

 

你可能感兴趣的:(DevExpress)