标题可能无法很好地说明我的要求, 实际上,我正在寻找一些准则来解决我的代码问题,
我正在创建一个应用程序,该应用程序将使用 网格视图和徽标图像出色。我到目前为止在下面所做的事情:
private void ExportExcel()
{
//This method is defined in ButtonClick Event
Response.Clear();
Response.Buffer = true;
Response.ClearContent();
Response.ClearHeaders();
Response.Charset = "";
GridView2.AllowPaging = false;
string FileName = "Exported" + DateTime.Now + ".xls";
StringWriter strwritter = new StringWriter();
HtmlTextWriter htmltextwrtter = new HtmlTextWriter(strwritter);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=" + FileName);
this.EnableViewState = false;
GridView2.DataBind();
Response.Write(ExportDiv.InnerHtml);
GridView2.GridLines = System.Web.UI.WebControls.GridLines.Both;
GridView2.HeaderStyle.Font.Bold = true;
GridView2.RenderControl(htmltextwrtter);
Response.Write(strwritter.ToString());
Response.End();
}
上面的代码可以正常工作,但是它们与徽标图像有关。附加图像显示徽标图像存在问题, Check Image here
徽标图像未设置在我实际需要的单元格内。我什么 图片Please check image
中显示了需求
答案 0 :(得分:0)
您无需使用任何外包库就可以做到这一点,而引起问题的事情将导致Grid视图和HTML代码的对齐。
所以我要做的是创建一个div并将其命名为
ExportDiv
并添加ExportDiv
内的HTML表,之后我在其中写HTML代码 通过一次又一次地添加行和列来添加表格,并添加网格视图 在ExportDiv
内部创建的表格中。
以下是单击事件背后的代码。
private void ExportToExcel(string strFileName)
{
StringBuilder sb = new StringBuilder();
string attachment = "attachment; filename=" + strFileName;
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/vnd.ms-excel";
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
StringWriter oStringWriter = new StringWriter();
HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);
Response.Output.Write(sb.ToString());
GridView3.AllowPaging = false;
GridView3.DataBind();
ExportDiv.RenderControl(oHtmlTextWriter);
string style = @"<style> TD { mso-number-format:\@; } </style>";
Response.Output.Write(oStringWriter.ToString());
Response.Write(style);
Response.End();
}
上述代码的优点是可以相应地设置HTML设计和Grid视图对齐。
遇到此类问题的任何人都可以提出评论 一定要帮助他。