我正在格式化某個特定Excel文件的日期從DataSet/DataGrid導出。
日期被格式化,像這樣:停止日期在從DataGrid導出到Excel中的Excel時自動格式化#
DateTime date = Convert.ToDateTime(entry.Date);
string formatdate = String.Format("{0:yyyy/MM/dd}", date);
一旦創建了DataSet是說,做,我用下面的代碼到DataSet導出到Excel文件:
public static void ExportDStoExcel(DataSet ds, string filename)
{
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.Charset = "";
response.ContentType = "application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
DataGrid dg = new DataGrid();
dg.DataSource = ds.Tables[0];
dg.DataBind();
dg.RenderControl(htw);
response.Write(sw.ToString());
response.End();
}
}
}
我唯一的問題是一旦我將它導出到Excel,Excel將自動格式化日期,如下所示:MM/DD/YYYY而不是YYYY/MM/DD。
我知道這可以通過在Excel中打開來手動實現,但導出內置到自動系統中,需要進行硬編碼。
有沒有辦法繞過Excel的DateTime自動格式?
去使用微軟的開放的XML SDK 2.0去打開XML路線,它看起來像它應該做的伎倆!感謝您指點我正確的方向! – Lando 2010-12-13 23:29:58