0

我正在尝试读取一个 excel 文件。我正在尝试使用 C++ 建立一个简单的 ADO 连接。但是在打开连接时它会失败。

这是我正在使用的代码

#import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")

int _tmain(int argc, _TCHAR* argv[])
{
    ADOCG::_ConnectionPtr conn = NULL;
    ADOCG::_RecordsetPtr rset = NULL;

    conn.CreateInstance(__uuidof(ADOCG::Connection));
    rset.CreateInstance(__uuidof(ADOCG::Recordset));

    try
    {
        //bstr_t bstrCnxt("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\sample.mdb;Extended Properties='MSAccess 12.0;HDR=Yes'"); 
        conn->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\weightreport.xls;Extended Properties='Excel 12.0;HDR=Yes'","","", ADOCG::adConnectUnspecified);

    }
    catch(const char * str)
    {

    }
}
4

1 回答 1

0

您应该先初始化 COM。if (FAILED(::CoInitialize(nullptr))) {return 0;}在上面添加 并在末尾_ConnectionPtr添加::CoUninitialize();_tmain

于 2017-12-11T08:59:54.330 回答