VC操作Excel文件

Excel 简单操作其实就是读和写,包括新增,删除,修改
其实和对数据库进行操作是一样的,微软提供了方法!

1.首先获得计算机内已经安装的驱动名称
SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut);
参数1 是字符串,它将获得所有驱动名称,中间以NULL分隔,第二个参数是最大缓冲区大小,第三个是读入的数量

2.检查驱动名称内是否有 Excel 驱动
使用字符串匹配函数 strstr(szBuf,"Excel");  
必须安装Excel后才可以进行Excel操作

3.获得Excel驱动名称   

4.创建数据库对象
    1.CDatabase database;
    2.配置数据库的参数: sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=/"%        s/";DBQ=%        s",sDriver, sExcelFile, sExcelFile);
        //参数1:第三步获得的驱动名称,参数2:本地Excel文件名称,参数3:Excel文件数据名 应该和参数2相同
    3.打开(文件): BOOL  database.OpenEx(sSql,CDatabase::noOdbcDialog) //不需要对话框

5.可以进行操作了
    sSql =SQL语句
    database.ExecuteSQL(sSql);

6.关闭文件 database.Close();

//以上应该在MFC中使用    
#include <odbcinst.h>
#include <afxdb.h>

//读取操作

    CString conn;
    conn.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=/"%s/";DBQ=%s",
        p, pathName, pathName);

    CString sql="select * from [number]"; 

    CString colum1,colum2,colum3;
    c_list.DeleteAllItems();
    int i=0;
    try
    {
        CDatabase database;
        database.OpenEx(conn,CDatabase::noOdbcDialog);
        CRecordset record(&database);

        record.Open(CRecordset::forwardOnly,sql,CRecordset::readOnly);
        while(!record.IsEOF())
        {
            record.GetFieldValue("NUM",colum1);
            record.GetFieldValue("DATE",colum2);
            record.GetFieldValue("TIME",colum3);

            c_list.InsertItem(i,"");
            c_list.SetItemText(i,1,colum1);
            c_list.SetItemText(i,2,colum2);
            c_list.SetItemText(i,3,colum3);
            record.MoveNext();
            i++;
        }
        record.Close();

    }
    catch (CDBException* e)
    {
        MessageBox("数据库操作发生异常!"+e->m_strError);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值