2013-10-09 14 views
0

我正在導入Excel文件asp.net,我裝成一個網格視圖...時間格式導入到ASP.NET

我有一個列在Excel工作表時我插入以下格式「hh:mm」,但我不斷收到在asp.net中的完整格式

例如:11:11在excel中我在asp.net中獲得12/30/1899 11:11: 00 AM 儘管Excel中的單元格格式爲h:mm

我試圖更改數據表中的值,但它不工作... 我該如何解決這個問題?

timee = row("TIME_TO_SEND") 
finalTime = timee.Substring(0, 5) 
row("TIME_TO_SEND")="hh:mm" 

說明該日期的轉換工作...但我的問題是,在數據表的日期格式是完整的......所以當我填充DataTable中我網格視圖「M獲得在時間欄:12/30/1899上午11點11分00秒

+0

使用網格水平 – Robert

回答

0

嘗試使用

DateTime.Parse(row("TIME_TO_SEND"), "hh:mm") 

http://msdn.microsoft.com/en-us/library/1k1skd40.aspx

+0

日期的格式轉換工作......但我的問題是,在數據表的日期格式是完整的......所以當我填充網格視圖我在時間列中獲得的數據表:12/30/1899 11:11:00 AM – User7291

+0

好的,那麼你應該格式化網格列 – Robert

0

當您設置在Excel格式,EXCEL保留所有數據但使用格式顯示它。在你的情況下,該列也包含整個日期時間,但只顯示你設置的部分。 要獲得所需的結果,請執行此類操作。

​​

更新: - 既然要格式化在運行時使用GridView'sRowDataBound事件在gridview的日期時間,其每次發射了行約束。

假設你的時間欄是第3欄,然後用0索引它將在這裏第2如何格式化它。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
      DateTime dt = DateTime.Parse(e.Row.Cells[2].Text); 
      e.Row.Cells[2].Text = dt.ToString("hh:mm"); 
    } 
} 
+0

日期轉換的工作......但我的問題是,在datatable日期的格式是完整的...所以當我用時間列填入數據表的網格視圖時:12/30/1899 11:11:00 AM – User7291

+0

請參閱更新。 – Ratna

0

你得到的是一個DateTime。使用DateTime.ToString可以正確格式化。

finalTime = row("TIME_TO_SEND").ToString("hh:mm") 
+0

日期的轉換正在工作......但我的問題是,在數據表格中日期的格式是完整的...所以當我用時間列中的數據表格填充網格視圖時: 12/30/1899 11:11:00 AM – User7291

+0

好的,那麼你應該格式化網格列 – Robert