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;
怎么创建excel表格
}
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();
m_database.Close();
}
CATCH_ALL(e)
{
TRACE1("Excel驱动没有安装: %s",strDriver); }
END_CATCH_ALL;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。