精华内容
下载资源
问答
  • 各位大拿好,最近使用odbc对execl操作出现了问题,却一直没有找到解决办法,希望有人能够帮助看看,谢谢各位了。 事情是这样,以前是可以用的,电脑的win10系统升级了后,使用的wps也升级了。没有装微软的execl. ...
  • odbc impoerter excel oracle

    2018-08-23 16:58:01
    1、打开ODBC数据源管理器 2、添加数据源 3、plsql odbc impoerter 1.1、ODBC数据源管理器一般在C:\Windows\SysWOW64目录下的odbcad32.exe,如下图。 打开ODBC数据源管理器后 注意在C:\Windows\SysWOW64目录...

    1、打开ODBC数据源管理器
    2、添加数据源
    3、plsql odbc impoerter

    1.1、ODBC数据源管理器一般在C:\Windows\SysWOW64目录下的odbcad32.exe,如下图。
    这里写图片描述
    打开ODBC数据源管理器后
    这里写图片描述
    注意在C:\Windows\SysWOW64目录的驱动是好用的,而在控制面板下的ODBC数据源驱动不好用,也可能是我自己机器的原因。
    2.1、添加excel数据源
    这里写图片描述
    2.2、选择驱动程序
    这里写图片描述
    2.3、选择要导入的excel
    这里写图片描述
    2.4、确定后就配置好数据源了
    这里写图片描述

    3.1、plsql==>tools==>odbc impoerter
    3.2、连接刚刚配置的数据源bbbb然后点connect,在下面的import table选择你要导入的sheet页.
    这里写图片描述
    3.3、选择导入到哪个用户哪个表
    这里写图片描述
    3.4、最后点击import导入
    这里写图片描述

    展开全文
  • ODBC 连接EXCEL

    万次阅读 2011-04-22 19:45:00
    接口测试的数据需要输出到excel中生成报表……然后归档……哎,连接吧想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面...

    接口测试的数据需要输出到excel中生成报表……然后归档……

     

    哎,连接吧,这里有一个OLE,纯C++连接的示例, 还有一个例子,相关的SQL操作还有各种数据库之间的倒换

    注意:如果写入的数据,如字符串,出现了乱码,在串前面加上L。

    还有如果使用Format(),转化char* ,要使用 "%S" 而不是 "%s"。 

     

    在工程设置中把“使用标准 Windows 库”改为 “在共享 DLL 中使用 MFC”。 

     

    想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行:

     

     1. 在StdAfx.h文件中加入:

     

    #include <afxdb.h> 

    #include <odbcinst.h>

     2. 通过ODBC直接创建Excel文件并在表中插入数据(暂定文件名:Demo.xls)

    //创建并写入Excel文件

    void CRWExcel::WriteToExcel()

    {

      CDatabase database;

      CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动

      CString sExcelFile = "c://demo.xls";                // 要建立的Excel文件

      CString sSql;

     

      TRY

      {

        // 创建进行存取的字符串

        sSql.Format(L"DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=/"%s/";DBQ=%s",

                    sDriver, sExcelFile, sExcelFile);

     

        // 创建数据库 (既Excel表格文件)

        if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )

        {

          // 创建表结构(姓名、年龄)

          sSql = "CREATE TABLE demo (Name TEXT,Age NUMBER)";

          database.ExecuteSQL(sSql);

     

          // 插入数值

          sSql = "INSERT INTO demo (Name,Age) VALUES (''徐景周'',26)";

          database.ExecuteSQL(sSql);

     

          sSql = "INSERT INTO demo (Name,Age) VALUES (''徐志慧'',22)";

          database.ExecuteSQL(sSql);

     

          sSql = "INSERT INTO demo (Name,Age) VALUES (''郭徽'',27)";

          database.ExecuteSQL(sSql);

        }      

     

        // 关闭数据库

        database.Close();

      }

      CATCH_ALL(e)

      {

        TRACE1("Excel驱动没有安装: %s",sDriver);

      }

      END_CATCH_ALL;

    }

     3. 通过ODBC直接读取Excel文件(暂定文件名:Demo.xls)

    // 读取Excel文件

    void CRWExcel::ReadFromExcel() 

    {

        CDatabase database;

        CString sSql;

        CString sItem1, sItem2;

        CString sDriver;

        CString sDsn;

        CString sFile = "Demo.xls"; // 将被读取的Excel文件名

     

        // 检索是否安装有Excel驱动 "Microsoft Excel Driver (*.xls)" 

        sDriver = GetExcelDriver();

        if (sDriver.IsEmpty())

        {

            // 没有发现Excel驱动

            AfxMessageBox("没有安装Excel驱动!");

            return;

        }

     

        // 创建进行存取的字符串

        sDsn.Format("ODBC;DRIVER={%s};DSN='''';DBQ=%s", sDriver, sFile);

     

        TRY

        {

            // 打开数据库(既Excel文件)

            database.Open(NULL, false, false, sDsn);

     

            CRecordset recset(&database);

     

            // 设置读取的查询语句.

            sSql = "SELECT Name, Age "       

                   "FROM demo "                 

                   "ORDER BY Name ";

     

            // 执行查询语句

            recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);

     

            // 获取查询结果

            while (!recset.IsEOF())

            {

                //读取Excel内部数值

                recset.GetFieldValue("Name ", sItem1);

                recset.GetFieldValue("Age", sItem2);

     

                // 移到下一行

                recset.MoveNext();

            }

     

            // 关闭数据库

            database.Close();

     

        }

        CATCH(CDBException, e)

        {

            // 数据库操作产生异常时...

            AfxMessageBox("数据库错误: " + e->m_strError);

        }

        END_CATCH;

    }

     4. 获取ODBC中Excel驱动的函数

    CString CRWExcel::GetExcelDriver()

    {

        char szBuf[2001];

        WORD cbBufMax = 2000;

        WORD cbBufOut;

        char *pszBuf = szBuf;

        CString sDriver;

     

        // 获取已安装驱动的名称(涵数在odbcinst.h里)

        if (!SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut))

            return "";

     

        // 检索已安装的驱动是否有Excel...

        do

        {

            if (strstr(pszBuf, "Excel") != 0)

            {

                //发现 !

                sDriver = CString(pszBuf);

                break;

            }

            pszBuf = strchr(pszBuf, ''/0'') + 1;

        }

        while (pszBuf[1] != ''/0'');

     

        return sDriver;

    }

     

    展开全文
  • C++使用ODBC连接EXCEL表格前言干货 前言 最近在学习C++的MFC,在MFC中需要对EXCEL表格进行一些操作,作者在网上找了很多资料,很多资料都是好几年前的,说的不是很明白.哪怕直接copy也会有很多错误.关于OLE操作EXCEL的...

    C++使用ODBC连接EXCEL表格

    前言

    最近在学习C++的MFC,在MFC中需要对EXCEL表格进行一些操作,作者在网上找了很多资料,很多资料都是好几年前的,说的不是很明白.哪怕直接copy也会有很多错误.关于OLE操作EXCEL的现在还不懂.这次记录一些我在连接EXCEl过程中的一些过程,希望能让像我这样的初学者有一些收获,接下来是干货.

    干货

    在开始之前我们需要先查询我们的电脑上是否已经安装好了EXCEL的相关驱动,一般来说,只要你安装了微软EXCEL组件,就会自带有.(注意:WPS的不行哦).
    然后当你使用这个函数
    BOOL INSTAPI SQLGetInstalledDriversW( _Out_writes_(cchBufMax) LPWSTR lpszBuf, WORD cchBufMax, WORD* pcchBufOut)
    就会提示这样的错误:一个无法解析的外部命令 ,等等一个无法解析的外部命令
    解决方案:

    在工程属性中,打开“链接器”,在“附加依赖项”中添加以下代码即可。

    legacy_stdio_definitions.lib

    这个问题足足困扰了我两天,终于在这里找到了解决方法,下面这是链接:
    https://blog.csdn.net/u010317005/article/details/51155363

    如果还是会提示这个错误,那么还要把vs的编译器设置为x64x86,以上是连接EXCEL的一些心得.

    展开全文
  • 摘要:VC/C++源码,数据库应用,ODBC ODBC创建EXCEL的实例源码,环境,请使用VisualStudio2010及以上版本打开项目并编译。源码截图的错误提示是因为没有安装数据库,如果你正确配置数据库信息后,再编译运行,就不会有...
  • 想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行: 1. 在StdAfx.h文件中加入: #include #include
    原文链接:http://blog.csdn.net/lzwxyz/article/details/6677393
    想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行:

    1. 在StdAfx.h文件中加入
    #include <afxdb.h> 
    #include <odbcinst.h>
    
    2. 通过ODBC直接创建Excel文件并在表中插入数据(暂定文件名:Demo.xls)
    //创建并写入Excel文件
    void CRWExcel::WriteToExcel()
    {
      CDatabase database;
      CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动
      CString sExcelFile = "c:\\demo.xls";                // 要建立的Excel文件
      CString sSql;
        
      TRY
      {
        // 创建进行存取的字符串
        sSql.Format("DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",
                    sDriver, sExcelFile, sExcelFile);
    
        // 创建数据库 (既Excel表格文件)
        if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )
        {
          // 创建表结构(姓名、年龄)
          sSql = "CREATE TABLE demo (Name TEXT,Age NUMBER)";
          database.ExecuteSQL(sSql);
    
          // 插入数值
          sSql = "INSERT INTO demo (Name,Age) VALUES (''徐景周'',26)";
          database.ExecuteSQL(sSql);
    
          sSql = "INSERT INTO demo (Name,Age) VALUES (''徐志慧'',22)";
          database.ExecuteSQL(sSql);
    
          sSql = "INSERT INTO demo (Name,Age) VALUES (''郭徽'',27)";
          database.ExecuteSQL(sSql);
        }      
    
        // 关闭数据库
        database.Close();
      }
      CATCH_ALL(e)
      {
        TRACE1("Excel驱动没有安装: %s",sDriver);
      }
      END_CATCH_ALL;
    }
    
    3. 通过ODBC直接读取Excel文件(暂定文件名:Demo.xls)
    // 读取Excel文件
    void CRWExcel::ReadFromExcel() 
    {
        CDatabase database;
        CString sSql;
        CString sItem1, sItem2;
        CString sDriver;
        CString sDsn;
        CString sFile = "Demo.xls"; 			// 将被读取的Excel文件名
                                         
        // 检索是否安装有Excel驱动 "Microsoft Excel Driver (*.xls)" 
        sDriver = GetExcelDriver();
        if (sDriver.IsEmpty())
        {
            // 没有发现Excel驱动
            AfxMessageBox("没有安装Excel驱动!");
            return;
        }
        
        // 创建进行存取的字符串
        sDsn.Format("ODBC;DRIVER={%s};DSN='''';DBQ=%s", sDriver, sFile);
    
        TRY
        {
            // 打开数据库(既Excel文件)
            database.Open(NULL, false, false, sDsn);
            
            CRecordset recset(&database);
    
            // 设置读取的查询语句.
            sSql = "SELECT Name, Age "       
                   "FROM demo "                 
                   "ORDER BY Name ";
        
            // 执行查询语句
            recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);
    
            // 获取查询结果
            while (!recset.IsEOF())
            {
                //读取Excel内部数值
                recset.GetFieldValue("Name ", sItem1);
                recset.GetFieldValue("Age", sItem2);
    
                // 移到下一行
                recset.MoveNext();
            }
    
            // 关闭数据库
            database.Close();
                                 
        }
        CATCH(CDBException, e)
        {
            // 数据库操作产生异常时...
            AfxMessageBox("数据库错误: " + e->m_strError);
        }
        END_CATCH;
    }
    
     4. 获取ODBC中Excel驱动的函数
    CString CRWExcel::GetExcelDriver()
    {
        char szBuf[2001];
        WORD cbBufMax = 2000;
        WORD cbBufOut;
        char *pszBuf = szBuf;
        CString sDriver;
    
        // 获取已安装驱动的名称(涵数在odbcinst.h里)
        if (!SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut))
            return "";
        
        // 检索已安装的驱动是否有Excel...
        do
        {
            if (strstr(pszBuf, "Excel") != 0)
            {
                //发现 !
                sDriver = CString(pszBuf);
                break;
            }
            pszBuf = strchr(pszBuf, ''\0'') + 1;
        }
        while (pszBuf[1] != ''\0'');
    
        return sDriver;
    }

    展开全文
  • odbcexcel

    千次阅读 2009-12-11 11:36:00
    ODBC怎么样获取Excel表中地所有工作表名 exit(1)表示发生错误后退出程序, exit(0)表示正常退出。 问题描述:我们要导入的excel数据文件中有一列叫做“中标价格”的,这个列里的数据有那种仅包含数字的,也有只有...
  • ODBCexcel

    2014-01-09 12:21:55
    前一阵子学习了徐景周老师的用ODBC读写excel的代码。原封不动抄下来,的确很好用,但是真正以应用到自己的需要,就出现问题了。只能按照原程序的顺序,先写一个excel再读取。当读取自己的excel时候,总是出现,...
  • C#学习笔记 ODBC 操作Excel

    千次阅读 2016-06-21 10:59:03
    1,ODBC->开放数据库连接(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中...检查ODBC-Excel驱动程序的安装:控制面板->管理工具->数据源(ODBC)->驱动程序
  • 使用ODBC读取excel文件

    千次阅读 2012-08-28 00:21:58
    odbcexcel.cpp: #include "StdAfx.h" #include "OdbcExcel.h" CString GetExcelDriver() {  char szBuf[2001];  WORD cbBufMax = 2000;  WORD cbBufOut;  char *pszBuf = szBuf;  CString sDriver; ...
  • odbc 读取excel

    2013-09-22 12:06:12
    CString GetExcelDriver() {   wchar_t szBuf[2001];... wchar_t excl[] = L"Excel";  WORD cbBufMax = 2000;  WORD cbBufOut;  wchar_t *pszBuf = szBuf;  CString sDriver;  // 获取已安装驱动的
  • 直接通过ODBC读写Excel表格文件 摘自:http://www.vckbase.com/document/viewdoc.asp?id=421 直接通过ODBC读写Excel表格文件 想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格...
  • ODBC parser Excel文档

    2009-11-09 16:06:00
    ODBC或者OLEDB打开Excel文档数据类型都以第一行数据为准造成第二行的字符被认为是Null 问题:用ODBC或者OLEDB打开Excel文档,如果某列的数值可以是字符型也可以是数字型,则数据类型都以第一行数据为准,造成第二...
  • C++ ODBC操作excel全过程

    千次阅读 2012-09-07 21:02:01
    想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行: 1. 在StdAfx.h文件中加入: #include #include 2. ...
  • c++使用ODBC读取EXCEL表格

    千次阅读 2018-02-02 18:30:18
    一、什么是ODBC  开放数据库连接(Open ...EXCEL表也是一种数据结构(数据库),也有API方便开发人员编写。 二、确定数据源(ODBC)驱动程序已经安装  通过查看“控制面板”-->"管理工具"下面的
  • 直接通过ODBC 读写Excel表格文件

    千次阅读 2009-11-09 16:08:00
    直接通过ODBC读写Excel表格文件下载本文示例代码想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行: 1. 在StdAfx....
  • PL/SQL的ODBC导入Excel到Oracle

    千次阅读 2018-08-01 11:18:13
    2、打开选项【Data from ODBC】→【User/System DSN】选择【Excel Files】、【User Name】和【Password】填写PL/SQL登录账户密码→点击【Connect】,选择要导入的Excel,点击【确定】     3、如果【User/...
  • 方案一:利用现成的第三方库:CSpreadSheet使用CSpreadSheet操作EXCEL的局限性:你只能够在EXCEL中创建表,然后才能够采用ODBC的方式操作EXCEL表,否则查询语句中FROM后面的表名称无法填写.限制该控件需要MFC(微软...
  • ODBC访问Excel

    2013-06-21 22:58:52
    分类: WINDOWS //////////////////////////////////////////////////////////////...//功能:从Excel文件中读取相应数据并显示出来 //作者:徐景周(jingzhou_xu@163.net) //组织:未来工作室(Future Studi
  • 首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行: 1. 在StdAfx.h文件中加入: #include #include   2. 通过ODBC直接创建Exc
  • 通过odbc读取,可以使用select语句直接读取整个工作表,处理excel数据就跟数据库一样方便。 当然,这种方式也有不足: 1、excel表格必须只能有一行表头。 2、相对于Excel.Application,无法准确定位单元格。 3、...
  • 利用ODBC管理excel文件

    千次阅读 2013-12-23 19:16:13
    前几天接到导师的要求,将一个excel里面所有的空数据修改成特定字符串。要求不能使用com技术,而是用ODBC。 于是,在网上收了一下,基本都和下面这个链接里面的代码相同。 ...这段代码确实有三个函数GetExcelDriver,...
  • C语言通过ODBC读写Excel表格文件

    千次阅读 2011-08-10 23:44:06
    想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行: 1. 在StdAfx.h文件中加入: #include #include

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,940
精华内容 1,976
关键字:

odbc打开excel