首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 办公应用 > OFFICE教程 >

待-vc操作excel(在指定位置上写入数据并实现打印)

2012-01-15 
在线等待----vc操作excel(在指定位置上写入数据并实现打印)各位大侠:大家好!由于工作的需要,我要把一些数

在线等待----vc操作excel(在指定位置上写入数据并实现打印)
各位大侠:
  大家好!由于工作的需要,我要把一些数据写到excel一个固定的表格中去,最终还要能在我们的软件中调用excel的打印接口,请问大侠们这样能实现吗,怎么实现呢,给我点思想,代码和操作步骤就更好了。
  谢谢大家!


[解决办法]
vc 想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行:
1. 在StdAfx.h文件中加入:
#include <afxdb.h> 
#include <odbcinst.h>

vc6.0通过ODBC直接创建Excel文件(暂定文件名:Demo.xls)
//创建并写入Excel文件
void CRWExcel::WriteToExcel()
{
CDatabase database;
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动
CString sExcelFile = "c:\\demo.xls"; // 要建立的Excel文件
CString sSql;

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 demo (Name TEXT,Age NUMBER)";
database.ExecuteSQL(sSql);

// 插入数值
sSql = "INSERT INTO demo (Name,Age) VALUES ('徐景周',26)";
database.ExecuteSQL(sSql);

sSql = "INSERT INTO demo (Name,Age) VALUES ('徐志慧',22)";
database.ExecuteSQL(sSql);

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

// 关闭数据库
database.Close();
}
CATCH_ALL(e)
{
TRACE1("Excel驱动没有安装: %s",sDriver);
}
END_CATCH_ALL;
}

参见文章
VC++中将数据导入到自定义Excel表并打印,注意点击“WEB迅雷高速下载 上海电信 福建电信”下载查看。

热点排行