大家好,我在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文件中的某些行时会出现问题
这里读取的行数返回不正确,就像没有删除行一样。
我该如何解决这个问题?我是否需要向连接字符串添加任何参数以确保不计算空行
答案 0 :(得分:0)
我试过这样的事情
var isEmpty = row.ItemArray.All(x => x == null || (x != null && String.IsNullOrWhiteSpace(x.ToString())));
if (isEmpty)
{
emptyRow++;
continue;
}
此外,我试图在连接字符串中给出IMEX = 1,但它没有成功,所以我选择了上面的代码。如果“IMEX”参数有效会更好