bcb中操作excel文件
请教:
我现在想在bcb中制作一个报表,把查询到的数据以图表的形式显示出来,想点击生excel文件方便打印等操作。
现在想通过ole的方式实现,以下是我的代码
Variant ex,newxls;
int i,j=1;
try
{
ex=CreateOleObject("excel.Application"); //启动excel
}
catch(...)
{
ShowMessage("无法启动Excel");
}
ex.OlePropertySet("Visible",(Variant)true);
newxls=(ex.OlePropertyGet("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->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->Fields[i]->AsString));
}
Table1->Next();
}
wxls.OleFunction("SavaAs",(Variant)"c:\\1.xls");
ex.OleFunction("Quit");
现在出现的问题是 将名字写到工作簿第一行那段代码有错误,总是写不进去 望高手教我怎么改正
(ex.OleFunction("Cells")).OlePropertySet("Item",(Variant)1,(Variant)(i+1),(Variant)(Table1->Fields->Fields[i]->FieldName));
就这一段,谢谢了!