ExcelApplication中的表头问题

leejd 2002-07-01 04:16:43
由于我要使用CB5操作excel来进行报表设计,每页报表前面需要一个表头,手工操作excel设置表头会,但是使用CB来控制就不行了,帮忙啊


还有,听说能够将excel嵌入到我的form中,能实现吗,怎么实现???
...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sigui 2002-07-01
  • 打赏
  • 举报
回复
给你一段代码,但不能保证能解决你的问题:
void __fastcall TFrmP::BtnCreatClick(TObject *Sender)
{
try
{ //调用Excel
ExcelA =CreateOleObject("Excel.Application");
// ExcelA.OlePropertySet("Visible", true);//如果要实现预览功能则本

行不能被注释;
}
catch(...)
{
Application->MessageBoxA("程序不能调用Excel的功能,可能是本机未安

装该软件。", "报表功能不能实现!", MB_OK);
return;
}
try
{ //打开文档
ExcelA.OlePropertyGet("workbooks").OleFunction("Open",

"H:\\R3410.xls");
}
catch(...)
{
Application->MessageBoxA("可能是报表不存在或其它程序正在使用该报

表。\r\n请确认报表存在及关闭其它程序再试一次。", "报表不能打开!",

MB_OK);
return;
}
ExcelWb =ExcelA.OlePropertyGet("ActiveWorkBook");
ExcelWs =ExcelWb.OlePropertyGet("ActiveSheet");

//把数据库中指定字段内容填入相应单元格
Param =FrmM->ADOQuery->FieldValues["djr"];
ExcelWs.OlePropertyGet("Cells", 3, 2).OlePropertySet("Value",

Param.c_str());
//……

if(FileExists("H:\\temp.xls"))
DeleteFile("H:\\temp.xls");
try
{ //保存成临时文件
ExcelWb.OleFunction("SaveAs", "H:\\temp.xls");
}
catch(...)
{
Application->MessageBoxA("保存报表时出错,可能是其它程序正在使用

临时文件。请关闭其它程序后再试。\r\n报表功能将被安全的终止。", "报表

不能保存!", MB_OK);
return;
}
//用一个OleContainer控件显示报表
OleCP->CreateObjectFromFile("H:\\temp.xls", false);



//预览功能: ExcelWs.OleFunction("PrintPreview");
//打印功能: ExcelWs.OleFunction("PrintOut");
//变量定义: String Param; Variant ExcelA, ExcelWb, ExcelWs;
hbxtx 2002-07-01
  • 打赏
  • 举报
回复
表头?什么表头?是不是标题?用C++builder可以呀。
将excel嵌入到form中可能要用第三方控件吧.不过我没听说过
leejd 2002-07-01
  • 打赏
  • 举报
回复
使用server组件来操作的

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧