使用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是这个 在这里输入图像说明