猿问

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

这种表头不在第一行的,怎么读取啊?
慕的地10843
浏览 1258回答 8
8回答

郎朗坤

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; } } } 经过实验,可以获取数据表~ 下面是连接字符串:

森林海

@斯拉克: 。。你看、我都给你说了

慕盖茨4494581

读取出来的时候循环表可以控制从哪一行开始去读 控制到这一行就去读然后取列头就可以了

肥皂起泡泡

判断条件,第五行,第一列,值等于“交易”日期的时候,才开始读取。

当年话下

从第五行开始循环就ok了
随时随地看视频慕课网APP
我要回答