我正在像这样使用 c# 读取 .xlsx 文件
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName +
                             ";Extended Properties=\"Excel 12.0;HDR=No;IMEX=1\";";
var output = new DataSet();
using (var conn = new OleDbConnection(strConn))
{
    conn.Open();
    var dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
    foreach (DataRow row in dt.Rows)
    {
        string sheet = row["TABLE_NAME"].ToString();
        var cmd = new OleDbCommand("SELECT * FROM [+"+sheet+"+]", conn);
        cmd.CommandType = CommandType.Text;
        OleDbDataAdapter xlAdapter = new OleDbDataAdapter(cmd);
        xlAdapter.Fill(output,"School");
    }
}
但我在 xlAdapter.Fill(output,"School"); 错误是
The Microsoft Office Access database engine could not find the object '+_xlnm.Print_Area+'.  Make sure the object exists and that you spell its name and the path name correctly.
我无法弄清楚代码中发生了什么错误。