利用ODBC管理excel文件
来源:互联网 发布:virtualbox安卓软件 编辑:程序博客网 时间:2024/05/21 06:43
前几天接到导师的要求,将一个excel里面所有的空数据修改成特定字符串。要求不能使用com技术,而是用ODBC。
于是,在网上收了一下,基本都和下面这个链接里面的代码相同。
http://hi.baidu.com/wpd1hl/item/fa2a9ee4d7f832adce2d4fd7
这段代码确实有三个函数GetExcelDriver,ReadFromExcel和WriteToExcel。三个函数的作用可以很容易的根据名字来知道。
ReadFromExcel有一个很明显的bug,那就是只能打开WriteToExcel函数所创建的excel文件,而无法读取其他excel文件(自己新建的文件)。
于是,笔者做了许多比较。发现:
1.WriteToExcel在要打开的文件不存在时,会创建同名文件;
2.WriteToExcel在要打开的文件存在时,会在excel文件中新建一个sheet(表),并写入数据;
3.ReadFromExcel只能打开由WriteToExcel创建的文件;
4.修改WriteToExcel创建的文件的内容之后,ReadFromExcel依然可以读取文件。
ReadFromExcel打不开文件时,经常回输出一下内容:
Microsoft jet 数据库引擎无法打开对象 **。。。。。
所以,我以为是excel的版本过新照成的,但是下载了office 2003之后,错误依在。
!!!最终,笔者终于找到了问题的所在:
// 设置读取的查询语句,查询表m_sheetName内的所有列 sSql = "SELECT * " "FROM [" + m_sheetName + "$] "; // 执行查询语句 recset.Open(CRecordset::snapshot, sSql, CRecordset::none);在SQL语句SELECT “*” FROM “*”, FROM后面的sheet(表)名称应该是“[sheetname$]”这样的格式才行,否则就会出现以上的问题。
ps:在实现修改excel的程序时,我也遇到了一个问题就是文件似乎只能只读而不能修改,即“ODBC driver不支持CRecordset::dynaset”。笔者通过了一个很取巧的方法最终实现了程序。具体可以参见我的源码,http://download.csdn.net/detail/shaellancelot/6759049
- 利用ODBC管理excel文件
- 利用ODBC把数据库数据导出为Excel文件
- 用ODBC访问EXCEL文件
- 使用ODBC读取excel文件
- C语言通过ODBC读写Excel表格文件(ODBC)
- 直接通过ODBC读写Excel表格文件
- MFC ODBC输出到Excel文件
- 直接通过ODBC读写Excel表格文件
- 如何通过ODBC访问excel文件
- 直接通过ODBC读写Excel表格文件
- 直接通过ODBC 读写Excel表格文件
- ODBC 解析EXCEL 文件 选择worksheet name
- 直接通过ODBC读写Excel表格文件
- 直接通过ODBC读写Excel表格文件
- 通过ODBC读写Excel表格文件
- 直接通过ODBC读写Excel表格文件
- 直接通过ODBC读写Excel表格文件
- 直接通过ODBC读写Excel表格文件
- nginx access_log buffer大小设置
- ORACLE 11g 自带程序 SQL Developer中不显示DBMS_OUTPUT.PUT_LINE()解决方案
- C++ 智能指针
- new String创建了多少个String对象
- 自己加班
- 利用ODBC管理excel文件
- C#面向对象经典资料
- Esper学习之二:事件类型
- php中实现倒计时的功能
- CRuntimeClass的结构与功能,DEClARE_DYNCREATE/IMPLEMENT_DYNCREATE
- OpenERP弹出窗口提示小结
- MQ 没有权限的问题 --MQJMS2013
- com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
- boost网络编程一般需要的五步