C++向Excel数据库中创建、插入数据

本文最近在研究经济数据抽取,抽取的数据通过程序存储到Excel中,本人抽取了Excel数据表创建的实例,希望对有需求的人有帮助!

#include "stdafx.h"
#include <windows.h>

#include <afxdb.h>
#include "io.h"


int CreateExcel();
void WriteToExcel();


CDatabase m_database;
CString strXlsFile="E:\\TestProgram\\TestExcel\\test.xls";


int _tmain(int argc, _TCHAR* argv[])
{
CreateExcel();
WriteToExcel();


return 0;
}


int CreateExcel()
{
CString    strMsg;
// POSITION   pos ;
CString    strZtdm, strNum;
CString    strSql,sSql;


CString strDriver = _T("MICROSOFT EXCEL DRIVER (*.XLS)");


if(strDriver.IsEmpty())
{
strMsg = _T("没有检测到Excel驱动(Microsoft Excel Driver)!");
AfxMessageBox(strMsg, MB_ICONSTOP);
return -1;
}


if(_access(strXlsFile, 0) != -1)
{
DeleteFile(strXlsFile);
}




TRY
{
// 创建进行存取的字符串 strXlsFile
strSql.Format("DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s", strDriver, strXlsFile, strXlsFile);
// 创建数据库 (即Excel表格文件)
if( m_database.OpenEx(strSql,CDatabase::noOdbcDialog) )
{
sSql.Format(_T("CREATE TABLE %s (姓名 TEXT,学号 TEXT)"),strXlsFile);
m_database.ExecuteSQL(sSql);
}
m_database.Close();
}
CATCH_ALL(e)
{
TRACE1("Excel驱动没有安装: %s",strDriver);
}
END_CATCH_ALL;


}


void WriteToExcel()
{
CString   strLog;
CString   strSql,sSql;
CString   sDsn;
CDatabase db;


CString strDriver = _T("MICROSOFT EXCEL DRIVER (*.XLS)");


if(strDriver.IsEmpty())
{
strLog = _T("没有检测到Excel驱动(Microsoft Excel Driver)!");
AfxMessageBox(strLog, MB_ICONSTOP);
return;
}
sDsn.Format(_T("ODBC;DRIVER={%s};DSN='';DBQ=%s"), strDriver, strXlsFile);


TRY
{
// 创建进行存取的字符串
strSql.Format("DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s", strDriver, strXlsFile, strXlsFile);
// 创建数据库 (即Excel表格文件)
if( m_database.OpenEx(strSql,CDatabase::noOdbcDialog) )
{
sSql.Format("INSERT INTO %s (姓名,学号) VALUES('张军','33')",strXlsFile);
m_database.ExecuteSQL(sSql);
}
m_database.Close();
}
CATCH_ALL(e)
{
TRACE1("Excel驱动没有安装: %s",strDriver);
}
END_CATCH_ALL;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值