1

在 vs 2012 中创建表单应用程序。我安装了 office 2013,win 8 64 位。我收到以下代码的上述错误。

public void SetConnection(string text1, string text2, string text3, string text4, string text5, string text6, string text7)
    {
        connectionString1 = "Initial Catalog=test; Data Source=work\\sqlexpress";
        connectionString = "Data Source='c:\\Users\\test1.xlsx';Extended Properties=Excel 12.0 Xml;Readonly=False;";
        database = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" + connectionString);
        database.Open();
        database1 = new OleDbConnection("Provider=SQLOLEDB.1;" + connectionString1);
        database1.Open();
    }

我尝试使用喷气式驱动程序,但不起作用,所以我转向 ace。首先我得到“找不到可安装的 ISAM”;所以安装了 AccessDatabaseEngine_x64 导致我出现这个错误。然后我将我的构建更改为 x86 和同样的错误。所以我别无选择。我确实尝试了 2007 年和 2010 年以前版本的 AccessDatabaseEngine,但没有运气,任何建议。

4

3 回答 3

1
database = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\Users\\test.xls';Extended Properties= \"Excel 8.0;HDR=Yes;IMEX=1\";");

上面的连接字符串使用 jet 虽然我必须暂时打开 excel 文件,否则我会收到“无法解密文件”错误。我还必须将文件保存为 97-03 excel xls 文件。

于 2013-05-20T09:31:24.033 回答
0

string connectionString = "Provider=Microsoft.Jet.OleDb.4.0;扩展属性=Excel 12.0 Xml;HDR=YES;数据源=C:\Users\q\Desktop\Ug\Test.xlsx";

于 2013-11-24T00:08:59.910 回答
0

这里所说,可能您安装了 64 位办公室,但没有安装 32 位组件(那里提供了链接)。您可能还需要构建您的项目 targetint x86 平台。

于 2016-03-23T07:58:25.303 回答