为了账号安全,请及时绑定邮箱和手机立即绑定

C#读取EXCEL,表头不在第一行,怎么读取啊?

C#读取EXCEL,表头不在第一行,怎么读取啊?

慕的地10843 2018-12-07 05:07:56
这种表头不在第一行的,怎么读取啊?
查看完整描述

8 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Data; using System.Data.OleDb; namespace ExcelReader { public class ExcelHelper { private OleDbConnection conn = new OleDbConnection(); public ExcelHelper(string excelPath) { string connectionStr = string.Format(ConfigurationManager.AppSettings["ConnectionString"], excelPath); conn.ConnectionString = connectionStr; } public DataTable GetExcelTable() { OleDbCommand cmd = conn.CreateCommand(); cmd.CommandText = "select * from [Sheet1$]"; DataTable table = new DataTable(); OleDbDataAdapter oda = new OleDbDataAdapter(cmd); oda.Fill(table); foreach (DataRow row in table.Rows) { if (!(row[0].ToString()).Equals("交易日期")) { row.Delete(); } else { break; } } for (int i = 0; i < table.Columns.Count; i++) { table.Columns[i].ColumnName = table.Rows[0][i].ToString(); } table.Rows[0].Delete(); table = table.GetChanges(DataRowState.Unchanged); return table; } } } 经过实验,可以获取数据表~ 下面是连接字符串:
查看完整回答
反对 回复 2018-12-09
?
森林海

TA贡献2011条经验 获得超2个赞

@斯拉克: 。。你看、我都给你说了
查看完整回答
反对 回复 2018-12-09
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

读取出来的时候循环表可以控制从哪一行开始去读 控制到这一行就去读然后取列头就可以了
查看完整回答
反对 回复 2018-12-09
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

判断条件,第五行,第一列,值等于“交易”日期的时候,才开始读取。
查看完整回答
反对 回复 2018-12-09
?
当年话下

TA贡献1890条经验 获得超9个赞

从第五行开始循环就ok了
查看完整回答
反对 回复 2018-12-09
  • 8 回答
  • 0 关注
  • 1257 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信