放置此代码并导入excel文件后,即使大多数行在excel文件中都有值,我也总是遇到没有值的数据表。我的问题是在导入Excel文件后将字符串(例如20131022)转换为日期(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>
你能帮我这个忙吗?我整天是如此F * * *这段代码了。我是ASP.NET MVC的新手。我尝试了其他格式,但除了N / AN / AN / AN / AN / AN / AN / AN / AN / AN / AN / AN / AN / AN / AN / AN / AN / AN / AN的行外,它什么都不显示数据表顶部的/ AN / AN / AN / AN / AN / AN / AN / AN / AN / A。
在此先感谢那些愿意提供帮助的人!:)
我认为您可以创建一种方法来处理它:
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)可以使用它来获取datetime值:
data.ordDate = ConvertDateTime(ds.Tables[0].Rows[i]["ordDate"].ToString());
data.paymentDate = ConvertDateTime(ds.Tables[0].Rows[i]["paymentDate "].ToString());
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句