VC++ ODBC 读取数据库中的数据保存到EXCEL

void CDialogOpRetrieveDis::OnBnClickedButtonSaveOpResult()
{
	// TODO: 在此添加控件通知处理程序代码
	CDatabase   database; 
    CString   sDriver   =   "MICROSOFT EXCEL DRIVER (*.XLS)";   //   Excel安装驱动 
    CString   sExcelFile;                                 //   要建立的Excel文件 
    CString   sSql; 
	CString   strItemText[3];

	CFileDialog dlg(FALSE);
	if(dlg.DoModal()==IDOK)
	{
		sExcelFile=dlg.GetPathName();
	}
	else
	{
		return ;
	}

    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 MyData (操作时间 TEXT,用户名称 TEXT,操作事件记录 TEXT) ";//demo 
            database.ExecuteSQL(sSql); 
			
			int nRow =m_ListCtrlOpRecordDis.GetItemCount();
			int nCol = 3;
			for (int i = 0; i < nRow; i++)
			{
				for(int j = 0; j < nCol; j++)
				{
					strItemText[j] = m_ListCtrlOpRecordDis.GetItemText(i,j);
				}
			     
				//   插入数值 
				sSql.Format("INSERT INTO MyData(操作时间,用户名称,操作事件记录) VALUES('%s','%s','%s')",
					strItemText[0],strItemText[1],strItemText[2]); 
				database.ExecuteSQL(sSql); 
			}
        }             
		
        //   关闭数据库 
        database.Close(); 
    } 
    catch(CDBException *e) 
    { 
		AfxMessageBox(e->m_strError);
        TRACE1( "Excel驱动没有安装:   %s ",sDriver); 
    } 
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

致一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值