我在网上搜索过,发现很多人都在问这个问题,但没有人能解决我的问题.
我有一个Connection类,以及一个在页面中使用该类的方法.
DataConn.cs
public static OleDbConnection ConnectExcel() { //Store the connection details as a string string connstr = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=pricelist.xlsx;Extended Properties=Excel 12.0 Xml;HDR=YES"); //Initialise the connection to the server using the connection string. OleDbConnection oledbConn = new OleDbConnection(connstr); //Open the connection,we do this here so we can instantly be able to use sql commands in the code. oledbConn.Open(); return oledbConn; } public static void DisconnectExcel() { _oledbConn.Dispose(); _oledbConn.Close(); }
protected void Page_Load(object sender,EventArgs e) { // Connection String const string xlStr = "SELECT * FROM [Sheet2$]"; // Create OleDbCommand object and select data from worksheet Food OleDbCommand cmd = new OleDbCommand(xlStr,DataConn.ConnectExcel()); // Create new OleDbDataAdapter OleDbDataAdapter oleda = new OleDbDataAdapter(); oleda.SelectCommand = cmd; // Create a DataSet which will hold the data extracted from the worksheet. DataSet ds = new DataSet(); // Fill the DataSet from the data extracted from the worksheet. oleda.Fill(ds); // Bind the data to the GridView gridPricelist.DataSource = ds; gridPricelist.DataBind(); }
是的我仍然得到:
System.Data.OleDb.OleDbException: Could not find installable ISAM.
有人可以帮忙吗?