Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将excel文件asp.net mvc中的字符串转换为日期_C#_Asp.net_Asp.net Mvc_Excel_Asp.net Mvc 4 - Fatal编程技术网

C# 将excel文件asp.net mvc中的字符串转换为日期

C# 将excel文件asp.net mvc中的字符串转换为日期,c#,asp.net,asp.net-mvc,excel,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Excel,Asp.net Mvc 4,在输入这段代码并导入excel文件后,我总是遇到没有值的数据表,即使大多数行在excel文件中都有值。我的问题是在导入excel文件后将字符串(例如20131022)转换为日期(yyyyMMdd),如果为空或0,则将“N/A”显示为值 这是我的密码: //AdminController.cs if (data.ordDate == "0" || data.ordDate == null) { Response.Write("N/A"); } else { data.ordDate = ds.Ta

在输入这段代码并导入excel文件后,我总是遇到没有值的数据表,即使大多数行在excel文件中都有值。我的问题是在导入excel文件后将字符串(例如20131022)转换为日期(yyyyMMdd),如果为空或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>
@model IEnumerable
订购日期
付款日期
@试一试
{
foreach(模型中的var数据)
{
@data.ordDate
@data.paymentDate
}
}
抓住
{
没有可用的数据。
}
你们能帮我吗? 我一整天都在忙这个代码。我是ASP.NETMVC的新手。我尝试了另一种格式,但它仍然没有显示任何内容,除了 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/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)可以使用它来获取日期时间值:

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

嗨,Damith,这里是:ExcelData数据=新的ExcelData();我还编辑了我的帖子。请再查一下。谢谢!:)您好,我将把这个{DateTime DateTime;return DateTime.TryParseExact(数据,“yyyyMMdd”,CultureInfo.InvariantCulture,datetimestyle.None,out DateTime)}DateTime.ToString(“yyyyMMdd”):“N/A”}ExcelData.cs放在哪里?AdminController.cs_AdminController.cs中的ExelDista.cStML?是可以的,如果有其他方法使用这个方法,你可以考虑把它放到一个全局共享的工具类中。我在使用代码后遇到了这个问题:“/”应用程序中的服务器错误。----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------当前对控制器类型“AdminController”上的操作“OrderExcelData”的请求在以下操作方法之间不明确:类型crmc.Controllers.AdminController.Web.Mvc.ActionResult OrderExcelData()上的System.Web.Mvc.ActionResult OrderExcelData(System.Web.HttpPostedFileBase)在类型crmc.Controllers.AdminControllert上,这是因为您在一个控制器中定义了两个同名操作。请求的操作不支持方法重载。您可以将它们重命名为不同的名称或定义不同的请求方法:“HttpPost”和“HttpGet”。哦,好的。:)我已经用过了,但是ordDate和paymentDate在所有行中都显示N/A。大部分都有价值@克里斯