使用C#读取Excel文件
我是新来的C#,我想用下面的代码读取一个Excel文件
string conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + ";Extended Properties=Excel 12.0;"; using (OleDbConnection connection = new OleDbConnection(conStr)) { connection.Open(); OleDbCommand command = new OleDbCommand("select * from [Sheet1$]", connection); using (OleDbDataReader dr = command.ExecuteReader()) { while (dr.Read()) { var row1Col0 = dr[0]; Console.WriteLine(row1Col0); } } }
我得到以下错误:
Sheet1 $'不是有效的名称。 确保它不包含无效字符或标点符号,并且不会太长。
谁能告诉我什么是我做错了?
Excel表的名称是sheet.xlsx
谢谢
工作表名称可能与文件名不一样,您可以通过执行以下操作来获取第一个工作表名称
首先,获取模式
DataTable dtSchema = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
然后获取第一张表名称
var sheetName = dtSchema.Rows[0]["TABLE_NAME"].ToString();
获得command
,可以填充数据集并使用它的.Rows
集合
var myDataSet = new DataSet(); command.Fill(myDataSet);
sheetname是这个