データベースから取得したカルチャ (en-GB) に基づいて日時列をフォーマットしています。そして、このデータをExcelにエクスポートしています。データをダウンロードすると、一部の日時は「16/10/2013 16:34:14」(つまり、24 時間) のように表示され、他の日付は「11/10/2013 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();