使用c#.net阅读Excel问题

我使用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的正常行为。 顶行被视为标题行或“列名”行。

要更改此行为,请将连接string的扩展属性添加到属性“ 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]; 

尝试将HDR = NO添加到扩展属性。

详细信息请参阅此链接

尝试更改您的连接string…

  "Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=\"Excel 12.0;HDR:No\"" 

看到这个页面可以尝试更多可能的连接string。 HDR设置决定提供者认为最上面一行是列名。

在服务器端应用程序中读取Excel文件的推荐方法是Open XML。

您可以尝试安装ACE组件,但仍保持不推荐和不受支持的状态。

对于使用Open XML,您可以通过下面的链接来帮助您在代码中使用Open XML读取excel文件 –

链接1

LINK2

链接3