我创建了一个小型vb.net应用程序,该应用程序连接到共享文件夹上的excel工作表。如果我在使用应用程序之前打开excel,那么很好,问题是当excel在后台没有打开时,我在尝试打开连接时会得到一个"System.Data.OleDb.OleDbException“错误。
我读过一些关于这个错误的文章,我知道这与本地临时库的访问权限有关。因此,我的问题是:( 1)有解决方案吗?( 2)对于excel文件位于共享驱动器上的情况,这是最好的连接策略吗?
连接代码:
skuPath = "C:\path.xlsm"
cn = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" + "data source=" + skuPath + ";Extended Properties=Excel 8.0;")
q1 = "select * from [" + year + "$B4:V128]"
da = New System.Data.OleDb.OleDbDataAdapter(q1, cn)
cn.Open()
da.Fill(ds, "Table1")
cn.Close()
dt = ds.Tables(0)我在cn.Open()上收到错误。
发布于 2014-04-06 10:23:55
几周前也有同样的问题。
正如Steve所建议的,错误是由oledb提供程序的错误版本引起的。
试试这个:
skuPath = "C:\path.xlsm"
cn = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;" + "data source=" + skuPath + ";Extended Properties=""Excel 12.0;HDR=Yes""")
q1 = "select * from [" + year + "$B4:V128]"
da = New System.Data.OleDb.OleDbDataAdapter(q1, cn)
cn.Open()
da.Fill(ds, "Table1")
cn.Close()
dt = ds.Tables(0)https://stackoverflow.com/questions/22892178
复制相似问题