在GridView中导出到excel帮助
我在.net应用程序中实现了将数据从gridview导出到excel工作表的功能。页面上gridview的呈现输出如下所示: 不用担心页眉和页脚,因为我正在显示gridview的一小部分。 excel表中导出的数据为: aspx页面中的代码用于网格视图中的特定货币列:在GridView中导出到excel帮助,gridview,asp.net-2.0,export-to-excel,Gridview,Asp.net 2.0,Export To Excel,我在.net应用程序中实现了将数据从gridview导出到excel工作表的功能。页面上gridview的呈现输出如下所示: 不用担心页眉和页脚,因为我正在显示gridview的一小部分。 excel表中导出的数据为: aspx页面中的代码用于网格视图中的特定货币列: <asp:TemplateField HeaderText="Value" > <HeaderStyle HorizontalAlign="Left" CssClass="lblBoldTextLef
<asp:TemplateField HeaderText="Value" >
<HeaderStyle HorizontalAlign="Left" CssClass="lblBoldTextLeftPadding clsGridHeaderDashboard" />
<ItemTemplate>
£<%# Eval("Value") %>
</ItemTemplate>
<ItemStyle CssClass="lblNormalTextLeftPadding" Width="10%" VerticalAlign="Top" HorizontalAlign="Left" />
</asp:TemplateField>
尝试在响应后设置字符集和编码类型。ContentType:
HttpContext.Current.Response.Charset = "utf-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1250");
否则:
如果这不起作用,请尝试将它们设置为文本字段。可能它们被渲染为浮点/双精度
这里是一个迭代示例,它在导出之前将一个类设置为所有单元格(您必须自定义我的示例,以便它们适用于您的解决方案)
foreach(gridView.Rows中的gridView行)
{
if(row.RowType==DataControlRowType.DataRow)
{
对于(int columnIndex=0;columnIndex
在呈现GridView后,将样式类添加到文档中
table.RenderControl(htmlTextWriter);
string style = @"<style> .text { mso-number-format:\@; text-align:left; } </style> ";
HttpContext.Current.Response.Write(style);
table.RenderControl(htmlTextWriter);
字符串样式=@“。文本{mso编号格式:\@;文本对齐:左;}”;
HttpContext.Current.Response.Write(样式);
我遇到了完全相同的问题,用unicode版本替换了英镑,即£;似乎在耍把戏,比如说
myTempStr = Replace(myTempStr, "£", "&#163;")
table.RenderControl(htmlTextWriter);
string style = @"<style> .text { mso-number-format:\@; text-align:left; } </style> ";
HttpContext.Current.Response.Write(style);
myTempStr = Replace(myTempStr, "£", "&#163;")