如何在BCB中控制Excel,使Excel打开后,自动生成一个空白的WorkBook...

awhitefox 2001-03-19 05:22:00
如何在BCB中控制Excel,使Excel打开后,自动生成一个空白的WorkBook...
BCB中的ExcelApplication1->Workbooks->Add()方法的参数同Delphi的不同。

急!请高手指教!
...全文
64 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hank 2001-03-19
  • 打赏
  • 举报
回复
以前写过一个,你可以直接参考,具体数据部分你就直接修改了,参看代码:

//********************//

SaveDialog1->Filter="*.XLS¦*.XLS";
SaveDialog1->DefaultExt="XLS";
if (SaveDialog1->Execute())
{
try
{
Variant MSExcel=CreateOleObject("Excel.Application");
MSExcel.OlePropertyGet("WorkBooks").OleProcedure("Add"); //是不是这一句?
MSExcel.OlePropertySet("Visible",False);
Muster->Account1->First();
for (int i=1;i<=Muster->Account1->RecordCount;i++)
{
MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,1).OlePropertySet("NumberFormat","@");
MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,1).OlePropertySet("Value",Muster->Account1->FieldByName("BANK")->AsString);
MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,2).OlePropertySet("NumberFormat","0.00");
MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertyGet("ActiveSheet").OlePropertyGet("Cells",i,2).OlePropertySet("Value",Muster->Account1->FieldByName("FACT")->AsFloat);
Muster->Account1->Next();
}
MSExcel.OlePropertyGet("ActiveWorkBook").OleProcedure("SaveAs",SaveDialog1->FileName);
MSExcel.OlePropertyGet("ActiveWorkBook").OleProcedure("Close");
}
catch(...)
{
Application->MessageBox("没有安装Microsoft Excel办公软件!","系统信息",MB_OK+MB_ICONWARNING);
}
}

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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