大侠救命:帮我看看下面的代码,为什么数据表保存为Excel是一个空文件?

expprg 2002-08-19 11:39:46
大侠帮帮我:我用BCB6开发,使用Office2K 控件。
为什么将数据表保存为Excel后,该Excel文件没有数据?
是哪出错了?万分感激,一定给分。

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
AnsiString filename;
SaveDialog1->Options.Clear();
SaveDialog1->Options << ofAllowMultiSelect << ofFileMustExist;
SaveDialog1->Filter = "Excel files (*.xls)|*.xls|All files (*.*)|*.*";
SaveDialog1->FilterIndex = 0; // start the dialog showing *.xls files
if (SaveDialog1->Execute())
filename=SaveDialog1->FileName;

CGauge1->MaxValue=IBTable1->RecordCount;

//新建一工作簿
ExcelApplication1->Connect(); //连接EXcel服务器
ExcelApplication1->Workbooks->Add(); //增加一工作簿
ExcelWorkbook1->ConnectTo(ExcelApplication1->ActiveWorkbook);

ExcelWorksheet1->ConnectTo(ExcelWorkbook1->ActiveSheet);

ExcelWorksheet1->Cells->set_Item((Variant)1, (Variant)1, (Variant)"item");
ExcelWorksheet1->Cells->set_Item((Variant)1, (Variant)2, (Variant)"line");
ExcelWorksheet1->Cells->set_Item((Variant)1, (Variant)3, (Variant)"amount0");
ExcelWorksheet1->Cells->set_Item((Variant)1, (Variant)4, (Variant)"amount1");

IBTable1->First();
int i=2; //start from row 2,row 1 is title
while(!IBTable1->Eof)
{
ExcelWorksheet1->Cells->set_Item((Variant)i, (Variant)1, (Variant)IBTable1->FieldByName("item")->AsString);
ExcelWorksheet1->Cells->set_Item((Variant)i, (Variant)2, (Variant)IBTable1->FieldByName("line")->AsString);
ExcelWorksheet1->Cells->set_Item((Variant)i, (Variant)3, (Variant)IBTable1->FieldByName("amount0")->AsString);
ExcelWorksheet1->Cells->set_Item((Variant)i, (Variant)4, (Variant)IBTable1->FieldByName("amount1")->AsString);
i++;

CGauge1->AddProgress(1);

IBTable1->Next();
}

ExcelWorksheet1->SaveAs(WideString(filename)); //save the excel file

ExcelApplication1->Disconnect();
ExcelApplication1->Quit();
}

...全文
34 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

13,825

社区成员

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

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