2024年5月9日发(作者:)

直接通过ODBC读写Excel表格文件

译者:徐景周(原作:Alexander Mikula)

下载本文示例代码

想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有

Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下

面步骤进行:

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

#include

#include

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

)

//创建并写入Excel文件

void CRWExcel::WriteToExcel()

{

CDatabase database;

CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel

安装驱动

CString sExcelFile = "c:"; // 要

建立的Excel文件

CString sSql;

TRY

{

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

("DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY

=FALSE;CREATE_DB="%s";DBQ=%s",

sDriver, sExcelFile, sExcelFile);

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

if( (sSql,CDatabase::noOdbcDialog) )

{

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

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

eSQL(sSql);

// 插入数值

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

'',26)";

eSQL(sSql);

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

'',22)";

eSQL(sSql);

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

eSQL(sSql);

}

// 关闭数据库

();

}

CATCH_ALL(e)

{

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

}

END_CATCH_ALL;

}

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

// 读取Excel文件

void CRWExcel::ReadFromExcel()

{

CDatabase database;

CString sSql;

CString sItem1, sItem2;

CString sDriver;

CString sDsn;

CString sFile = ""; // 将被读取的

Excel文件名

// 检索是否安装有Excel驱动 "Microsoft Excel Driver

(*.xls)"

sDriver = GetExcelDriver();