Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC3-如何排除excel文件中Dhtmlxgrid的隐藏列_C#_Excel_Asp.net Mvc 3_Dhtmlx - Fatal编程技术网

C# MVC3-如何排除excel文件中Dhtmlxgrid的隐藏列

C# MVC3-如何排除excel文件中Dhtmlxgrid的隐藏列,c#,excel,asp.net-mvc-3,dhtmlx,C#,Excel,Asp.net Mvc 3,Dhtmlx,是否仍要排除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 Ta

是否仍要排除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");
        }

找到此方法并替换此

    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");
    }

如果有效,不要忘记将其标记为应答

使用setColumnHidden api在导出调用之前隐藏列,并在导出调用之后显示列。导出结果中不包括隐藏列