我使用 C# 从 Excel 工作表中读取数据。
这是我的代码,它正在运行。
var fileName = @"C:\Users\yohan\Desktop\Brandix\y.xlsx";
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; data source= {0}; Extended Properties=Excel 12.0;", fileName);
var adapter = new OleDbDataAdapter("SELECT * FROM [BOM$]", connectionString);
var ds = new DataSet();
adapter.Fill(ds);
DataTable data = ds.Tables[0];
但它总是跳过 excel 表的第一行,这是为什么? 请帮助...!!
谢谢 约翰
最佳答案
这是 DataAdapter 的正常行为。顶行被视为标题行或“列名”行。
要更改此行为,请将属性“HDR=NO”添加到连接字符串的扩展属性
例子:
var fileName = @"C:\Users\yohan\Desktop\Brandix\y.xlsx";
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=""Excel 12.0;HDR=NO;""", fileName);
var adapter = new OleDbDataAdapter("SELECT * FROM [BOM$]", connectionString);
var ds = new DataSet();
adapter.Fill(ds);
DataTable data = ds.Tables[0];
关于c# - 使用 c# .net Issue 读取 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5498277/