2014-05-02 29 views
0

是否有排除Excel文件中DhtmlxGrid的隱藏列的方法?MVC3 - 如何排除Excel文件中的Dhtmlxgrid的隱藏列

現在,當我輸出爲excel時,它還包含隱藏在excel中的列。請建議。

MVC3 
in View: 
on a button click my code: 

_grid.toExcel('@Url.Content("~/Shared/ExportGridToExcel?TableName")' +'Doc'); 

in Controller: 

public ActionResult ExportGridToExcel(string TableName) 
     { 
      var generator = new ExcelWriter(); 
      var xml = this.Request.Form["grid_xml"]; 
      xml = this.Server.UrlDecode(xml); 
      var stream = generator.Generate(xml); 
      return File(stream.ToArray(), generator.ContentType, TableName + ".xls"); 
     } 

回答

0

找到這個方法並替換該

public ActionResult GenerateExcel() 
    { 
     var generator = new ExcelWriter(); 
     var xml = this.Request.Form["grid_xml"]; 
     xml = this.Server.UrlDecode(xml); 
     var xmlObj = XDocument.Parse(xml); 
     foreach (var x in xmlObj.Descendants("columns").ElementAt(0).Descendants("column")) 
     { 
      var w = x.Attribute("width").Value; 
      if (Convert.ToString(w).Equals("0")) { x.SetAttributeValue("hidden", "true"); } 
     } 
     xml = xmlObj.ToString(); 
     var stream = generator.Generate(xml); 
     return File(stream.ToArray(), generator.ContentType, "grid.xlsx"); 
    } 

不要忘記,以紀念本作的答案,如果它的工作原理