首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

哪位高手有C++Builder 操作excel 图表的例子或图书

2012-03-27 
谁有C++Builder 操作excel 图表的例子或图书?大家好!谁有C++Builder 操作excel 图表的例子或图书,我是想通

谁有C++Builder 操作excel 图表的例子或图书?
大家好!谁有C++Builder 操作excel 图表的例子或图书,我是想通过xls一些数据生成char,以及char的位置大小等一些设置,谢谢!

[解决办法]
//---------------------------------------
//取对象属性
#define PG OlePropertyGet
//设置对象属性
#define PS OlePropertySet
//运行对象的函数
#define FN OleFunction
//运行对象的过程
#define PR OleProcedure

Variant Ex,Ex2,Wb,Wb2,Sh1,Sh2;

// 打开excel并保存显示在StringGrid里面
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i=1,j=1;
AnsiString FILENAME;
/* if (Exflag1)
{
Wb.PR("Close");
Exflag2=false;
}*/
Ex=Variant::CreateObject("Excel.Application");
if(OpenDialog1->Execute())
{
FILENAME=OpenDialog1->FileName;
StatusBar1->Panels->Items[0]->Text ="打开了"+FILENAME;
}
else
{
StatusBar1->Panels->Items[0]->Text ="无法打开"+FILENAME;
}
Ex.PG("WorkBooks").PR("Open",FILENAME.c_str());

//Wb.PR("Close");

Wb=Ex.PG("ActiveWorkBook");
Sh1=Wb.PG("ActiveSheet");
//打开EXCEL表格
Exflag1=true;
StringGrid1->ColCount=Sh1.PG("UsedRange").PG("Columns").PG("Count")+10;
StringGrid1->RowCount=Sh1.PG("UsedRange").PG("Rows").PG("Count")+10;
//读取EXCEL的有效范围,并调整StringGrid的范围

for(i=1;i<StringGrid1->RowCount;i++)
{
for(j=1;j<StringGrid1->ColCount;j++)
{
StringGrid1->Cells[j][i]=AnsiString(Sh1.PG("Cells",i,j).PG("Value"));
}
}
//将EXCEL里的值赋到StringGrid当中
//Wb.PR("Save");
Wb.PR("Close");



}
[解决办法]
其实C++Builder操控Word和Excel是很简单的,你只需在Office中录制相应的宏,把宏代码转换成C++代码就可以了。

热点排行