C#读取EXCEL,如何从第2行开始读取?

问题遇到的现象和发生背景

C#读取EXCEL,想在第2行开始读取,因为第1行做说明行,第2行做标题行;

问题相关代码,请勿粘贴截图
运行结果及报错内容

以上代码是整个SHEET1读取

我的解答思路和尝试过的方法
我想要达到的结果

进一步说,读取能否框定行和列的范围?

驱动不要配置HDR=No;,这样DataTable填充的数据自动去掉第一行,然后用第二行(对应DataTable已填充中的第一行)更新下DataTable的Column名称后删除第一行数据完成操作

myCommand.Fill(ds, "table1");

/////////////////////////DataTable Columns 名称更新操作开始

var dt = ds.Tables[0];//获取DataSet中的第一个表,就是table1,使用下标而不是表名称
var colCount = dt.Columns.Count;//列数量
//更新Table的列名称
for (var i = 0; i < colCount; i++) dt.Columns[i].ColumnName = dt.Rows[0][i].ToString();
//删除表头数据行
dt.Rows.RemoveAt(0);

/////////////////////////DataTable Columns 名称更新操作结束

return ds;

测试效果如下

img

代码没贴上,补充:
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds;
strExcel = "select * from [sheet
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
return ds;

可以看看
https://download.csdn.net/download/hyjchina/15621698
这个类库功能很全

可以从任意一行读取的

用free spire.xls nuget包

//创建Workbook对象并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"F:\ExportData.xlsx" , ExcelVersion.Version2013);
            
//获取第一张sheet
Worksheet sheet = workbook.Worksheets[0];

//设置range范围
CellRange range = sheet.Range[2, 1, sheet.LastRow, sheet.LastColumn];
           
//输出数据, 同时输出列名以及公式值
DataTable dt = sheet.ExportDataTable(range, true, true);

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

遍历的时候,不要第一行的结果,取第二行的结果。


//访问mytest表 的第n+1行(行的索引是从0开始的)
ds.Tables["mytest"].Rows[n]