Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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# DataGrid到excel不显示自动网格线_C#_Excel_Datagrid_Ashx - Fatal编程技术网

C# DataGrid到excel不显示自动网格线

C# DataGrid到excel不显示自动网格线,c#,excel,datagrid,ashx,C#,Excel,Datagrid,Ashx,想知道是否有人能帮忙。我有一个.ashx文件,它创建了一个用C数据网格填充的excel文档。这一切都很好。唯一的问题是,当我打开excel文档时,自动网格线被关闭。有没有办法使它们成为可能 提前感谢,, 空气 如果导出到csv,它将保留网格线。 这是一个非常简单的解决方法,很多人都选择使用它 见西米尔邮报 这篇文章包含了一个助手函数,可以将网格线添加到导出中 希望这能有所帮助。请向我们展示创建excel文档的代码。嗨,我已将代码添加到原始postTry中,尝试在将其传递给response之前设置

想知道是否有人能帮忙。我有一个.ashx文件,它创建了一个用C数据网格填充的excel文档。这一切都很好。唯一的问题是,当我打开excel文档时,自动网格线被关闭。有没有办法使它们成为可能

提前感谢,, 空气


如果导出到csv,它将保留网格线。 这是一个非常简单的解决方法,很多人都选择使用它

见西米尔邮报

这篇文章包含了一个助手函数,可以将网格线添加到导出中


希望这能有所帮助。

请向我们展示创建excel文档的代码。嗨,我已将代码添加到原始postTry中,尝试在将其传递给response之前设置datagrid的BorderColor、BorderStyle和BorderWidth。writeHi尝试过,但它只设置了datagrid上的边框。它没有在excel文档上启用自动网格线:
HttpResponse response = HttpContext.Current.Response;

            response.Clear();
            response.Charset = "";
            response.ContentEncoding = System.Text.Encoding.Default;
            response.ContentType = "application/vnd.ms-excel";
            response.AddHeader("Content-Disposition", "attachment;filename=\"dataImportTemplate.xls\"");
            using (StringWriter sw = new StringWriter())
            {
                using (HtmlTextWriter htw = new HtmlTextWriter(sw))
                {
                    System.Web.UI.WebControls.DataGrid dg = new System.Web.UI.WebControls.DataGrid();
                    dg.DataSource = ds.Tables[0];
                    dg.ShowHeader = false;
                    dg.DataBind();                    
                    dg.RenderControl(htw);
                    response.Write(sw.ToString());
                }
            }