zoukankan      html  css  js  c++  java
  • 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正常情况:

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

  • 相关阅读:
    Apache Spark源码走读之4 -- DStream实时流数据处理
    Apache Spark源码走读之3 -- Task运行期之函数调用关系分析
    Apache Spark源码走读之2 -- Job的提交与运行
    Apache Spark源码走读之1 -- Spark论文阅读笔记
    Spark
    (转)互联网广告综述之点击率特征工程
    Java排序算法之冒泡排序
    java枚举
    第二课、数据的艺术---------------------狄泰软件学院
    第一课、进阶高手的大门--------------------狄泰软件学院
  • 原文地址:https://www.cnblogs.com/mybky/p/3193171.html
Copyright © 2011-2022 走看看