如何将数据保存到word文件(表格形式)?(200分)

  • 主题发起人 主题发起人 lingb
  • 开始时间 开始时间
L

lingb

Unregistered / Unconfirmed
GUEST, unregistred user!
本人想做一个彩票软件,如何将开奖结果导出为以表格形式显示的word文件中?
 
操作EXCEL容易一些.WORD困难
 
ExCel的如何搞??Excel也行啊
 
procedure TFrmPrintQuery.Btn_ExcelClick(Sender: TObject);
var
MsExcel:Variant;
i,m,n:integer;
Exc:string;
begin
if Savedialog1.Execute then
begin
MsExcel:=createoleobject('Excel.application');
msexcel.visible:=false;
Msexcel.workbooks.add;
//end;
for n:=0 to Adoquery1.FieldCount-1 do
Msexcel.cells[1,n+1].value:=Adoquery1.Fields[n].DisplayLabel;
Adoquery1.First;
m:=2;
//showmessage(Adoquery1.fieldvalues[1]);
while not Adoquery1.Eof do
begin
for i:=0 to Adoquery1.FieldCount-1 do
begin
Exc:=Adoquery1.Fields.AsString;
Msexcel.cells[m,i+1].value:=Exc;//Adoquery1.FieldByName.AsString;
end;
Adoquery1.next;//quotedstr(Adoquery1.FieldValues[1]);
Inc(m);
end;
Msexcel.activeworkbook.saveas(savedialog1.FileName);
//Msexcel.activebook.saved:=true;
Msexcel.quit;
Application.MessageBox('导出完毕!','提示',Mb_ok or Mb_Iconinformation);
end;

end;
 
控件面板里面的Servers页下面的控件研究一下就可以了。Word,Excel都可以。
 
运行时报错:Undeclared identifer:'createoleobject'
 
另外请问:Adoquery做什么用的?没有用过,谢谢:)
 
ADOQUERY是ADO的控件阿,那连数据库用什么阿?BDE吗
 
uses 中 加入comobj单元
 
还没有用过,呵呵,我用BDE啊,Tquery啊:)
 
那你把ADOQUERY1 改为QUERY1 就行了。在USES 中加上COMOBJ就行了。这是我用的代码,肯定能用的。
 
简单说一下ADoQuery的使用和设置啊,谢谢,否则运行报错:
ADOQuery1:cannot perform this operation on a closed dataset!
 
ADOQUERY1的CONNECTION 选择为ADOCONNECTION ,SQL属性中加入SQL语句,然后
OPEN;
或者
EXECSQL;
就行了.
或者ADOQUERY1.CONNECTIONSTRING属性直接设置数据源就行了.
 
问题是,adoquery不用连接数据库嘛?
我加了一个adoquery到窗口上,然后发现不知道怎么连数据库,没有databasename的选项,且ADOQUERY1的CONNECTION 里面是空白的没有办法设置
 
用CONNECTIONSTRING属性来连数据库阿
 
数据库——》adoconnection ->adoquery
或者 数据库-》adoquery 这种方法直接用CONNECTIONSTRING属性来连接
 
哇,能否具体说嘛,点开了connectionstring后都不知道怎么设置啊:(delphi5:(
 
看来你没有用过,你直接把tADOQUERY改为TQUERY 就行了。
 
打开WORD文档并不难,主要是定义几个olevariant类型的变量
例如;
procedure writewordtable(sender:Object);
var
word,doc,table;olevariant;
i;integer;
begin
//打开文档的代码
....
word:=createoleobject('word.application');
word.visible:=false;
//做一个表的查询
with adoquery1 do
begin
sql.clear;
sql.add('select * from table1');
execsql;
end;
table;=doc.table.item[1];
for i;=1 to adoquery.recordcount do
begin
table.cell[1,1]:=adoquery.fields[0].asstring;
end;
end;
依次类推就可以将数据库中的有效字段写入word的表格中.
 
sngirl能否就这个例子将代码具体化??谢了
 

Similar threads

后退
顶部