在C#中加载Excel文件-将自动修剪空列和空行

在C#中加载Excel文件-将自动修剪空列和空行,c#,excel,C#,Excel,从C#加载Excel文件时出现问题。 我正在使用OleDbConnection类,传递以下连接字符串: @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myfile.xlsx;Extended Properties=""Excel 12.0;HDR=NO;""" 它似乎工作得很好,但当我尝试从加载的数据集中检索数据时,我发现空列和空行已被自动删除 例如,假设XLS文件的第一个有值单元格位于位置C4,如果尝试获取第3行和第2列单元格的值,则会出现

从C#加载Excel文件时出现问题。 我正在使用OleDbConnection类,传递以下连接字符串:

 @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myfile.xlsx;Extended Properties=""Excel 12.0;HDR=NO;"""
它似乎工作得很好,但当我尝试从加载的数据集中检索数据时,我发现空列和空行已被自动删除

例如,假设XLS文件的第一个有值单元格位于位置C4,如果尝试获取第3行和第2列单元格的值,则会出现异常,而如果访问第0行和第0列单元格,则会找到单元格C4的值

因此,即使HDR选项(在连接字符串中)设置为“否”,空列和空行似乎也会被自动修剪


谢谢。

您尝试过使用Provider=Microsoft.Jet.OLEDB.4.0吗?@Mithir谢谢。。。我已经尝试过了,但是我得到了异常信息:“找不到可安装的ISAM”。如果查询的范围从A1开始,并且包含空白单元格,则该范围被偏移,因此您的结果从第一个非空白单元格开始。但是如果不在范围中包含前导的空白行或列,则不会修剪任何单元格,也不会出现偏移。这是不一致的。有没有办法判断细胞是否被修剪过?