delphi数据导出到wps表格

delphi 导出数据到WPS表格的方法和导出到Excel方法雷同,都涉及使用Ole。导出到Wps表格时需要创建这样的Ole组件实例:

var
etapp:olevariant;
myworkbook: OleVariant; //定义金山表格的工作簿对象

etapp:=createoleobject('et.application');//启动wps表格

现在网上有一段现成的代码,它就是实现将一个表格里的数据导出到 wps的电子表格文档中。具体代码如下:

 

procedure TfrmMain.Button10Click(Sender: TObject);
var
i,row,column,j:integer;
etapp:olevariant;
myworkbook: OleVariant; //定义金山表格的工作簿对象
begin
etapp:=createoleobject('et.application');//启动wps表格
etApp.Visible := true;

if dbgrid1.DataSource.DataSet.RecordCount =0 then exit;
etapp.Workbooks.Close;
myworkbook :=etapp.Workbooks.add;
myworkbook.WorkSheets['sheet1'].Activate;

column:=1;
for j:=0 to dbgrid1.FieldCount-1 do
begin
IF dbgrid1.Columns[j].Visible =true then
begin
myworkbook.worksheets['sheet1'].cells[1,column].value:=dbgrid1.columns.Items[j].Title.caption ;
column:=column+1;
end;
end;
row:=2;
dbgrid1.DataSource.DataSet.First;

While Not (dbgrid1.DataSource.DataSet.Eof) do
begin
column:=1;
for i:=0 to dbgrid1.Columns.Count-1 do
begin
IF dbgrid1.Columns[I].Visible =true then
begin
myworkbook.worksheets['sheet1'].cells[row,column].value:=dbgrid1.Columns[i].Field.AsString ;
column:=column+1;
end;
end;
dbgrid1.DataSource.DataSet.Next;
row:=row+1;
end;
showmessage('导出完毕,请在wps表格中进行编辑、排版、打印等操作!');

end;

posted @ 2011-12-10 20:39  wmymtx  阅读(2685)  评论(0编辑  收藏  举报