0

我设计了一个使用以下代码的导出到 excel 页面

替代文字

数据显示在网格视图中,日期格式显示为 M/d/yyyy 所以我将文化 en-GB 添加到页面指令以将日期显示为 d/M/yyyy

替代文字

日期现在正确显示 d/M/yyyy,并且 utf-8 也在 gridview 中正确显示。

但是,一旦我导出到 excel,utf-8 就会出现乱码

当我从页面指令中删除文化时,名称会正确显示,但是我再次面临 M/d/yyyy 问题。

我的问题是:有没有办法将日期显示为 d/M/yyyy 并同时读取正确的 utf-8

任何想法将不胜感激

4

1 回答 1

1

这是您应该采取的措施来解决您的问题

1-从页面指令中删除文化设置,这将在 excel 中正确显示阿拉伯名称,对吗?

2-解决日期问题在 gridview aspx 代码中执行以下操作

AutoGenerateColumns="false"

前一段代码应该插入到 中,它会阻止列自动生成

现在您需要手动生成列,使用以下代码作为示例

<Columns> 
<asp:BoundField DataField="EmployeeName" HeaderText="Name" /> 
<asp:BoundField DataField="Gender" HeaderText="Gender" /> 
<asp:BoundField DataField="DOB" DataFormatString="{0:d/M/yyyy}" HeaderText="DOB" /> 
</Columns> 
于 2010-12-11T09:26:11.180 回答