我在网上搜索过,发现很多人都在问这个问题,但没有人能解决我的问题.
我有一个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.
有人可以帮忙吗?