社区
C++ Builder
帖子详情
CB中如何连接EXCEL??
hhplay
2002-08-11 09:06:45
在CB中如何进行EXCEL的功能调用?就是想在数据库表的浏览过程中调用EXCEL的功能,书中大部分都是泛泛的介绍,而在CB中也有直接的控件可以使用,可是不知道怎么用,请高手们指教!
...全文
51
9
打赏
收藏
CB中如何连接EXCEL??
在CB中如何进行EXCEL的功能调用?就是想在数据库表的浏览过程中调用EXCEL的功能,书中大部分都是泛泛的介绍,而在CB中也有直接的控件可以使用,可是不知道怎么用,请高手们指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hhplay
2002-08-13
打赏
举报
回复
我的E-Mail:player.23@163.net
多谢大家!
请写的清楚点好吗?
我用的数据库为SQL SERVER,想把数据库里的数据用EXCEL打开处理后还可以再保存在数据库中!如何才能将数据写入EXCEL然后再写回去,今天试了几种方法都没有写进去!
Variant ex,newxls;
int i,j=1;
try
{
ex=CreateOleObject(″Excel.Application″); //启动Excel
}
catch(...)
{
ShowMessage(″无法启动Excel″);
}
ex.OlePropertySet(″Visible″,(Variant)true); //使Excel启动后可见
newxls=(ex.OleFunction(″Workbooks″)).OleFunction(″Add″);//新建一个工作薄
Table1-〉Active=true;
//打开数据库
Table1-〉First();
for(i=0;i〈Table1-〉FieldCount;i++)
//将字段名写到工作薄的第一行
{
(ex.OleFunction(″Cells″)).OlePropertySet(″Item″,(Variant)1,(Variant)(i+1),(Variant)Table1-〉Fields[i]-〉FieldName);
}
while(!Table1-〉Eof)
//将数据库中的记录依次写到工作薄中
{
j=j+1;
for(i=0;i〈Table1-〉FieldCount;i++)
{
(ex.OleFunction(″Cells″)).OlePropertySet(″Item″,(Variant)j,(Variant)(i+1),
(Variant)Table1-〉Fields[i]-〉AsString);
}
Table1-〉Next();
}
newxls.OleFunction(″SaveAs″,(Variant)filename);
//保存工作薄,filename是工作薄的全文件名
ex.OleFunction(″Quit″);
//退出Excel,释放OLE对象
这段程序调试不出来!请问哪里出错了???
再次感谢!!
kingcaiyao
2002-08-12
打赏
举报
回复
给你一个很简单的代码:
.h File
#define FN OleFunction
#define PR OleProcedure
#define PS OlePropertySet
#define PG OlePropetyGet
.CPP File
Variant V,WB1,SH1;
V=CreateOleObject("Excel.Application");
V.PS("Visible",true);
V.PG("WorkBooks").PR("Open","YourDirectory\\Book1.xls");
WB1=V.PG("ActiveWorkBook");
SH1=WB1.PG("ActiveSheet");
Edit1->Text=SH1.PG("Cells",1,1).PG("Value");
for(int i=1;i<=10;i++)
{
for(int j=1;j<=10;j++)
{
//AnsiString &S=IntToStr(i*100+j);
wchar_t* oleStr = SysAllocString(L"Hello");
SH1.PG("Cells",i,j).PS("Value",Variant(oleStr));
}
}
V.PR("Save");
//V.FN("Close");
V.PR("Quit");
V=Unassigned;
WB1=Unassigned;
SH1=Unassigned;
ShowMessage("Excel has been opened by BCB");
//SysFreeString(oleStr);
kingcaiyao
2002-08-12
打赏
举报
回复
这有很多种方法
1.可以将Excel定义成一个数据源,用Data Access页面上的控件或ADO控件对它进行访问(如:ADOTable,ADOQuery)
2.可以将Excel当作一个自动化服化器,而你的应用程序作为自动化控制器来使用
superaf
2002-08-12
打赏
举报
回复
1。先在odbc里面配个数据源,然后在程序里面bde连接.
2.直接用ado连接组件去连,因为微软装了excel的驱动内核,在adoconnection里面直接添上excel表的直接路径就行。
我这里有个很简单的例子,要的话,给我发消息。
hbxtx
2002-08-12
打赏
举报
回复
留个email,给个例程你看看。
china_bills
2002-08-12
打赏
举报
回复
给我一个例程可以吗?
yuhuikm@163.com
xiaoguoru
2002-08-12
打赏
举报
回复
用ADO组件.
JTCY23
2002-08-12
打赏
举报
回复
tag
风吹稻菽千重浪
2002-08-12
打赏
举报
回复
感兴趣!
怎么把100多个
EXCEL
文件合并成一个?
怎么把100多个
EXCEL
文件合并成一个?_
EXCEL
_电脑软件_编程_天涯问答_天涯社区 http://wenda.tianya.cn/question/3604d101e5
cb
8330
CB
拷贝文字到
excel
CCC.lsp
CAD批量复制文字到
Excel
,快捷键ccc 超级好用·
CB
uilder XE与SQLite快速开发app
因为C++ Builder XE10资料一直较少,所以作为C++ Builder业余fans,有必要为这冷门提供一些技术支持,与小伙伴们一起成长! 本视频系列,主要是讲解C++ Builder XE10与sqlite来快速开发手机安卓app,让学友们能够...
【精品小工具】
Excel
批量关键字替换Word工具
(我不会说是因为我发了个悬赏导致我看到我
CB
没有了,想办法混
CB
呢) 加了个保存替换文本的功能, 加了个用关键字批量替换word文档的功能。 留言开源的,可以下载个
excel
和word操作类模块,哪个论坛都有,随便下载...
调用
EXCEL
用OLE操作
Excel
B
CB
调用
EXCEL
用OLE操作
Excel
(目前最全的资料)(04.2.19更新) 本文档部分资料来自互联网,大部分是ccrun(老妖)在
Excel
中
通过录制宏-->察看宏代码-->转为
CB
代码而来.本文档不断更新
中
.欢迎大家关注.
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章