数据库转换为Excel文件??

jiangtch 2002-12-29 06:17:54
数据库转换为Excel文件??----怎么样做啊
...全文
68 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Robin 2003-02-20
  • 打赏
  • 举报
回复
to yinzm()
Comobj,Word2000,Excel2000,之类的!
Robin 2003-02-19
  • 打赏
  • 举报
回复
呵呵!
占位!
http://expert.csdn.net/Expert/topic/1368/1368914.xml?temp=.4721491
开个玩笑,要者皆给!
yinzm 2003-01-08
  • 打赏
  • 举报
回复
在c++ Builder 中调用这两个函数时,需要include 什么头文件?
mrdige 2003-01-06
  • 打赏
  • 举报
回复
可以用程序打开*.xls文件,然后让用户自己确定数据的最终正确性和完整性,再让他自己在Excel中打印岂不更好?
zhiping924 2003-01-06
  • 打赏
  • 举报
回复
这样做好以后,如何在C++Builder直接调用打印程序,打印这个*.xls文件?
zhiping924 2003-01-06
  • 打赏
  • 举报
回复
一件事情放在两个地方做当然不好了。
thp 2002-12-30
  • 打赏
  • 举报
回复
給你兩個函數:
//將DS輸出到Execl
int txDSToExecl(TDataSet *ds)
{
Variant ex,newxls,sh;
try{
ex=CreateOleObject("Excel.Application");//啟動Excel
ex.OlePropertySet("Visible",(Variant)true); //使Excel啟動后可見
newxls=(ex.OlePropertyGet("Workbooks")).OleFunction("Add");//新建一新工作薄
sh=newxls.OlePropertyGet("ActiveSheet");
}catch(...)
{
//txMsgInf("啟動Excel出錯,可能由于Excel沒有正确安裝");
return -1;
}
if(ds->IsEmpty())
{
return 1;
}
ds->First();
sh.OlePropertyGet("Cells").OlePropertyGet("Font").OlePropertySet("Size",11);
for(int i=0;i<ds->FieldCount;i++)
{
sh.OlePropertyGet("Cells",1,i+1).OlePropertySet("Value",(TVariant)(ds->Fields->Fields[i]->FieldName));
sh.OlePropertyGet("Cells",1,i+1).OlePropertyGet("Font").OlePropertySet("Bold",(TVariant)true);
}
int RecCount=0;;
while(!ds->Eof)
{
for(int i=0;i<ds->FieldCount;i++)
{
sh.OlePropertyGet("Cells",RecCount+2,i+1).OlePropertySet("Value",
(TVariant)ds->Fields->Fields[i]->AsString);
}
ds->Next();
RecCount++;
}
return 0;
}
//將DS保存到Execl文件
void txDSToExeclFile(TDataSet *ds,AnsiString FileName)
{
TStringList *sl;
AnsiString sline="";
try{
sl=new TStringList();
ds->First();
for(int i=0;i<ds->FieldCount;i++)
{
sline+=ds->Fields->Fields[i]->FieldName;
if(i!=ds->FieldCount-1)
sline+=",";
}
sl->Add(sline);
sline="";
while(!ds->Eof)
{
for(int i=0;i<ds->FieldCount;i++)
{
if(ds->Fields->Fields[i]->AsString!="")
sline+=ds->Fields->Fields[i]->AsString;
else
sline+="' ";
if(i!=ds->FieldCount-1)
sline+=",";
}
sl->Add(sline);
sline="";
ds->Next();
}
sl->SaveToFile(FileName);
}
__finally{
delete sl;
}
}

13,825

社区成员

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

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