我正在根据从我的数据库中提取的文化(en-GB)格式化我的datetime列。我将这些数据导出到excel。当我下载我的数据时,某些日期时间显示为“16/10/2013 16:34:14”(即24小时),这是正确的,其他显示如下“2013/10/10 12:47:01 PM “(即12小时)这是错误的。对于en-GB,日期时间格式应为“dd / MM / yyyy HH:mm:ss”。 如何解决这个问题。请建议我。提前谢谢。
以下是我用于将数据导出到Excel的代码。
GridView gv = new GridView();
gv.DataSource = dtTemp; // Here is My data
gv.DataBind();
Response.Clear();
// 'set the response mime type for excel
string fileName = string.Empty;
fileName = "Online_Topup_Report_" + DateTime.Now.Date.ToString(DayFormat.Value.ToString().Replace("/", "-")).ToString() + ".xls";
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=" + fileName + "");
Response.ContentType = "application/vnd.ms-excel";
Response.ContentEncoding = System.Text.Encoding.Default;
Response.Charset = "UTF-8";
StringWriter stringWrite = new StringWriter();
// 'create an htmltextwriter which uses the stringwriter
System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);
// 'tell the datagrid to render itself to our htmltextwriter
gv.RenderControl(htmlWrite);
Response.Output.Write(stringWrite.ToString());
Response.End();
答案 0 :(得分:0)
您应该格式化第一个日期时间,无论您从数据库获取格式如何: “dd / MM / yyyy HH:mm:ss”
然后你可以将它导出到excel。