c# - 使用 c# .net Issue 读取 Excel

标签 c# .net excel windows-forms-designer

我使用 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/

相关文章:

c# - 缩放 SKImage (SkiaSharp) 的最快方法

c# - 如何在 C# 中使用多个事件处理程序 text_changed?

.net - Code-First Add-Migration不断添加同一列

excel - 不使用 ".Copy"+ ".Paste"粘贴格式

excel - Jasper 报告 JExcelApi 将数字导出为文本

c# - C#的 double 四舍五入不起作用

c# - 序列化对象列表

c# - EPPlus:创建排序列

c# - 如果集合为空,如何返回默认值?

excel - 在 VBA 中处理大于 Long 的数字