将string转换为date从一个Excel文件的asp.net mvc

把这段代码和导入excel文件后,我总是遇到没有值的数据表,即使大多数行在Excel文件中有值。 我的问题是在导入excel文件后将string(例如20131022)转换为date(yyyyMMdd),如果它为null或0,则显示“N / A”值。

这是我的代码:

//AdminController.cs

if (data.ordDate == "0" || data.ordDate == null) { Response.Write("N/A"); } else { data.ordDate = ds.Tables[0].Rows[i]["ordDate"].ToString(); } if (data.paymentDate == "0" || data.paymentDate == null) { Response.Write("N/A"); } else { data.paymentDate = ds.Tables[0].Rows[i]["paymentDate"].ToString(); } 

//ExcelData.cs

 public class ExcelData { public string ordDate { get; set; } public string paymentDate { get; set; } } 

//_ExcelData.cshtml

 @model IEnumerable<ExcelData> <table class="table table-striped table-bordered bootstrap-datatable"> <thead> <tr> <th>Order Date</th> <th>Payment Date</th> </tr> </thead> <tbody> @try { foreach (var data in Model) { <tr> <td>@data.ordDate</td> <td>@data.paymentDate</td> </tr> } } catch { <tr> <td colspan="5">No data available.</td> </tr> } </tbody> </table> 

你能帮我这个人吗? 我的整个一天都是这样的代码。 我是新的ASP.NET MVC。 我尝试了另外一种格式,但是除了不适用不适用不适用不适用不适用不适用不适用不适用不适用不适用不适用不适用不适用不适用不适用不适用不适用不适用数据表顶部的/ AN / AN / AN / AN / AN / AN / AN / A。

预先感谢那些愿意帮助的人! 🙂

我想你可以创build一个方法来处理它:

 public static string ConvertDateTime(string data) { DateTime dateTime; return DateTime.TryParseExact(data , "yyyyMMdd" , CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime) ? dateTime.ToString("yyyyMMdd") : "N/A"; } 

或没有格式检查:

 public static string ConvertDateTime(string data) { return data == "0" || string.IsNullOrWhiteSpace(data) ? "N/A" : data; } 

和您的主要方法(AdminController.cs)可以使用它来获取date时间值:

 data.ordDate = ConvertDateTime(ds.Tables[0].Rows[i]["ordDate"].ToString()); data.paymentDate = ConvertDateTime(ds.Tables[0].Rows[i]["paymentDate "].ToString());