Jet Oledb在MVC 3 Web应用程序中读取错误

时间:2014-01-20 13:04:46

标签: c# asp.net-mvc excel asp.net-mvc-3 oledb

大家好,我在MVC网络应用程序中使用Jet oledb从excel读取数据时遇到问题。我的应用程序可以选择上传excel文件

这是构建连接字符串

的代码
if (0 == extension.CompareTo(".xls"))
{
                connString = ConfigurationManager.ConnectionStrings["MicrosoftProviderForxls"].ConnectionString +
                   fileName + ConfigurationManager.ConnectionStrings["MicrosoftPropertyForxls"].ConnectionString;
}

connectionstring的值是

  

“提供者= Microsoft.Jet.OLEDB.4.0;数据   来源= D:\ 20_18_18_26.xls;扩展属性= Excel 8.0“

哪个工作正常,可以正确读取行数。通过选择一些行并按“退格”或在Excel中使用删除选项来删除该Excel文件中的某些行时会出现问题

这里读取的行数返回不正确,就像没有删除行一样。

我该如何解决这个问题?我是否需要向连接字符串添加任何参数以确保不计算空行

1 个答案:

答案 0 :(得分:0)

我试过这样的事情

var isEmpty = row.ItemArray.All(x => x == null || (x != null && String.IsNullOrWhiteSpace(x.ToString())));  
if (isEmpty)
{
    emptyRow++;
    continue;
}

此外,我试图在连接字符串中给出IMEX = 1,但它没有成功,所以我选择了上面的代码。如果“IMEX”参数有效会更好