OlePropertySet,OleFunction,为什么在link时总出错?

Hopping 2003-03-31 11:01:39
我用的是CB6,代码用途是将数据库的内容转换到excel中
// 向Excel发送数据
System::Variant Excel, NewExcel;
int i, j = 1;
try
{
Excel = CreateOleObject("Excel.Application");
}
catch(...)
{
MessageBox(Handle, "无法启动Excel,请检查Excel是否正确安装!", "错误", MB_OK|MB_ICONERROR);
return;
}
Excel.OlePropertySet("Visible", (Variant)true); // 使excel启动后可见
NewExcel = (Excel.OleFunction("Workbooks")).OleFunction("Add"); // 新建一个工作薄

// 插入列
for(i = 0; i < QuerySoot->Fields->Count; i++)
{
(Excel.OleFunction("Cells")).OlePropertySet("Item", (Variant)i, (Variant)(i+1), (Variant)QuerySoot->Fields->Fields[i]->FieldName);
}
// 将数据添加至excel中
QuerySoot->First();
while(!QuerySoot->Eof)
{
j = j + 1;
for(i=0; i < QuerySoot->FieldCount; i++)
{
(Excel.OleFunction("Cells")).OlePropertySet("Item", (Variant)j, (Variant)(i+1), (Variant)QuerySoot->Fields->Fields[i]->AsString);
}
QuerySoot->Next();
}
String sFile = "c:\\histroy.xls";
NewExcel.OleFunction("SaveAs", (Variant)sFile);
Excel.OleFunction("Quit");

请高手不吝指教
...全文
84 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hopping 2003-03-31
  • 打赏
  • 举报
回复
up
void __fastcall TPhoneForm::SelectButtonClick(TObject *Sender) {   AnsiString StrDate, ExName;//存放日期用于sheet   AnsiString Datatem,phone1="拨号";//临存放数据库的字段值   int i,j;   //查询所需的数据   PhoneADOQuery->Close();   PhoneADOQuery->Parameters->ParamByName("date1")->Value=PhoneMaskEdit1->Text;   PhoneADOQuery->Parameters->ParamByName("date2")->Value=PhoneMaskEdit2->Text;   PhoneADOQuery->Active=true;   //新建一个EXCEL   Ex = Variant::CreateObject("Excel.Application");   Ex.OlePropertyGet("workbooks").OleFunction("Add", 6);   Wb = Ex.OlePropertyGet("ActiveWorkBook");   Sh = Wb.OlePropertyGet("ActiveSheet");   Ex.OlePropertySet("Visible", true);   //给sheet以日期重命名,   StrDate=DateToStr(Date());   Sh.OlePropertySet("Name", StrDate.c_str());   //给EXCEL输入数据   for (j=0;jFieldCount;j++)   {      Datatem=PhoneADOQuery->Fields->Fields[j]->FieldName;      Sh.OlePropertyGet("Cells", 1, j+1).OlePropertySet("Value", Datatem.c_str());   }   PhoneADOQuery->First();   for (i=0; iRecordCount; i++)   {   for (j=0;jFieldCount;j++)   {      Datatem=PhoneADOQuery->Fields->Fields[j]->AsString;      Sh.OlePropertyGet("Cells", i+2, j+1).OlePropertySet("Value", Datatem.c_str());      if (phone1==PhoneADOQuery->Fields->Fields[j]->FieldName)     {Sh.OlePropertyGet("Cells", i+2, j+1).OlePropertySet("NumberFormatLocal", "0_ ");//设置单元格格式为数值格式 }   }   PhoneADOQuery->Next();   }   //保存EXCEL并退出   ExName=GetCurrentDir()+"\\"+DateToStr(Date())+".xls";   Wb.OleFunction("SaveAs", ExName.c_str());   Wb.OleFunction("Close");   Ex.OleFunction ("Quit");   Ex = Unassigned; }

13,873

社区成员

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

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