C#阅读带有列表的Excel

C#阅读带有列表的Excel,c#,excel,C#,Excel,我有一个Excel文件和两张表格。第一个工作表包含数据,第二个工作表包含一组用于验证第一个工作表上的单元格的列表 当我通过OLEDB使用C#读取excel文件时,它不会关注第一张表,而是关注其中一个列表 这是我的工作表的外观: 第二页: 我运行上传过程时,它指向第二页的“16-20”列 知道为什么吗 这是我的代码: using (var connection = new OleDbConnection(string.Format(ExcelConnectionString,

我有一个Excel文件和两张表格。第一个工作表包含数据,第二个工作表包含一组用于验证第一个工作表上的单元格的列表

当我通过OLEDB使用C#读取excel文件时,它不会关注第一张表,而是关注其中一个列表

这是我的工作表的外观:

第二页:

我运行上传过程时,它指向第二页的“16-20”列

知道为什么吗

这是我的代码:

        using (var connection = new OleDbConnection(string.Format(ExcelConnectionString, excelFile)))
        {
            connection.Open();
            var schema = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
            using (var command = new OleDbCommand(string.Format("SELECT * FROM [{0}]", schema.Rows[0]["TABLE_NAME"]), connection))
            {
                using (var dataAdapter = new OleDbDataAdapter(command))
                {
                    dataAdapter.Fill(dataTable);
                }
            }
        }
第一张工作表中有一些需要下拉列表的字段,如Job Role。因此,我在第二张纸上添加了所有列表,即:地区列表、工作角色列表、年龄范围列表和资格列表

出于某种原因,上传过程指向年龄范围,即16-20岁、21-25岁等

在Excel的左上方,有一个下拉列表,允许您导航到所有列表,巧合的是,第一个列表是年龄范围。似乎它使用它来索引模式/列表/表


我建议使用ExcelDataReader而不是OleDB