win7下VS2008 使用ODBC读写EXCEL,找不到EXCEL驱动,安装驱动的办法。。。

终于出现了 Microsoft Excel 12.0 Object Library<1.6>这一项
受下面一段话的启发:
[color=#00CCFF]Excel.cpp和Excel.h是从Excel的类型库中获取的,类型库类似C++中的头文件,包括接口,方法,属性的定义;类型库在Excel的安装目录可以找到,Excel的版本不同,这个类型库也不一样,如下所示: 
Excel 95 and prior   :   xl5en32.olb
 Excel 97             :   excel8.olb
 Excel 2000           :   excel9.olb
 Excel 2002           :   excel.exe


具体的获取方法:


1 . 使用VC++新建立一个基于MFC的EXE工程


2 . 点击菜单"查看"-->"建立类向导",此时会弹全"MFC ClassWizard"对话框


3 . 点击"Add Class"-->"From a type libray",指定Excel的type libray,在Excel的安装目录下可以找到,如:"D:\\Microsoft Office\\Office\\EXCEL9.OLB"


4 . 在弹出的对话框中选择所需的类,按"确定",Excel.cpp和Excel.h就产生了。[/color]


我在我的excel安装目录下面没有找到excel9.OLB文件,只找到excelcnv.exe,然后我双击了它,它好像是个设置程序,设置完后,出来了EXCEL.EXE,然后我又用office安装包增加和卸载功能,把所有的功能全选上,然后确定,“安完”之后vs2008里就有了,不知道是excelcnv.exe设置起的作用,还是office安装包起得作用,反正最后是成功了!!!

大家可以看看这篇文章http://blog.csdn.net/vicozo/archive/2009/04/12/4067838.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过ODBC连接Excel文件,并使用SQL语句进行读写操作。 以下是一个简单的示例代码: ```cpp #include <iostream> #include <sql.h> #include <sqlext.h> int main() { // ODBC connection variables SQLHENV henv = nullptr; SQLHDBC hdbc = nullptr; SQLRETURN retcode; // Connect to ODBC driver retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, SQL_IS_INTEGER); retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); retcode = SQLConnect(hdbc, (SQLCHAR*)"Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)", SQL_NTS, (SQLCHAR*)"Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=my_excel_file.xlsx;", SQL_NTS, NULL, NULL); if (!SQL_SUCCEEDED(retcode)) { std::cout << "Error connecting to Excel file." << std::endl; return 1; } // Execute SQL statement SQLHSTMT hstmt; SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); SQLCHAR* query = (SQLCHAR*)"SELECT * FROM [Sheet1$]"; retcode = SQLExecDirect(hstmt, query, SQL_NTS); if (SQL_SUCCEEDED(retcode)) { // Fetch data SQLCHAR name[256]; SQLINTEGER age; while (SQLFetch(hstmt) == SQL_SUCCESS) { SQLGetData(hstmt, 1, SQL_C_CHAR, name, sizeof(name), NULL); SQLGetData(hstmt, 2, SQL_C_LONG, &age, 0, NULL); std::cout << name << " " << age << std::endl; } } else { std::cout << "Error executing SQL statement." << std::endl; } // Disconnect from ODBC driver SQLDisconnect(hdbc); SQLFreeHandle(SQL_HANDLE_DBC, hdbc); SQLFreeHandle(SQL_HANDLE_ENV, henv); return 0; } ``` 此代码连接到名为 `my_excel_file.xlsx` 的Excel文件,并从名为 `Sheet1` 的工作表中读取数据。你需要替换这些值以适应你的实际情况。 注意,你需要使用适当的ODBC驱动程序来连接Excel文件。在上面的示例代码中,使用Microsoft Excel ODBC驱动程序。 此外,你需要使用适当的SQL语句来读取和写入Excel文件中的数据。在上面的示例代码中,使用了 `SELECT` 语句来读取数据。你可以使用INSERT、UPDATE和DELETE语句来写入数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值