2016-01-22 64 views
0

如何從excel表中的datetime列中刪除時間?

public static void GenrateExcel(DataSet ds, string FileName, string TemplateName) 
{ 
try 
    { 
     ReplcateColumnSpace(ds); 

     HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; 
     HttpContext.Current.Response.Charset = ""; 

     XmlDataDocument xdd = new XmlDataDocument(ds); 
     XslTransform xt = new XslTransform(); 
     xt.Load(HttpContext.Current.Server.MapPath("~/ExcelTemplate/" + TemplateName + ".xsl")); 
     xt.Transform(xdd, null, HttpContext.Current.Response.OutputStream); 
     HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ".xls"); 
     // HttpContext.Current.Response.Flush(); 

     HttpContext.Current.Response.End(); 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 
} 

的代碼我已經寫線它產生從DS(數據集)的Excel工作表。還有在數據集中到期日的列。現在,只要調用該函數併成功生成Excel表格。時間也會附加到Excel表單文檔中的到期日期列。我想從有效日期列中刪除時間,日期應該以mm/dd/yyyy格式顯示。請幫忙 !!!

+0

你試圖改變文化信息的DateTimeFormat? – Gnqz

+0

我對c#中的代碼生成的excel表沒有任何意見...請幫忙!!! – Nida

+0

Excel只是使用您的CultureInfo設置。你在你的DataSet中有日期,而且excel所做的只是將它們轉換爲字符串。日期的打印方式取決於特定文化的格式。 – Gnqz

回答

0

一個解決辦法是改變數據集:

foreach (DataTable dt in ds.Tables) 
     { 
      if (dt.Columns.Contains("ExpiryDate")) 
      { 
       foreach (DataRow dr in dt.Rows) 
       { 
        dr["ExpiryDate"] = DateTime.Parse((dr["ExpiryDate"].ToString())).Date; 
       } 
      } 
     } 
相關問題