5,710
社区成员
procedure TForm1.BitBtn1Click(Sender: TObject);
var
x, y, i, j: integer;
MsExcel: OleVariant;
begin
try
MSExcel := CreateOleObject('Excel.Application');
MSExcel.Application.Visible := False;
except
on Exception do raise Exception.Create('无法打开Xls文件,请确认您的计算机已经安装了EXCEL!');
end;
MSEXCEL.WORKBOOKS.ADD;
x := ADOQuery1.Fieldcount;
y := ADOQuery1.Recordcount;
for I := 1 to x do
MSExcel.cells.item[1, i] := ADOQuery1.Fields[i - 1].Fullname;
ADOQuery1.First;
for j := 2 to y + 1 do
begin
for i := 1 to x do
begin
MSExcel.cells.item[j, i] := ADOQuery1.Fields[i - 1].Value;
end;
ADOQuery1.Next;
end;
MSExcel.application.Visible := True;
end;
建议改用XLSReadWriteII,建议一个字段中文英文比对表,通过搜索更换。
MSExcel.cells.item[1, i] := ADOQuery1.Fields[i - 1].DisplayLabel;
MSExcel.cells.item[1, i] := ADOQuery1.Fields[i - 1].Fullname;//这里是不是应该怎么处理一下,才能变成我想要的中文字段