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;