1. 在这个位置加一个ComObj,不然是不好运行的。
2.在程序保存的文件夹里新建一个名为excel的文件夹(已有不用新建),在在此文件夹下先建一个excel文件(.xls),假设表名为“学生信息表”。
3.在打印按钮下,写入如下代码
var
excel,sheet,book,range:variant;
i:Integer;
begin
excel:=createoleobject('excel.application');
excel.visible:=true;
excel.workbooks.open(extractfilepath(application.exename)+'excel\学生信息表.xls');
book:=excel.workbooks[1];
excel.displayalerts:=false;
sheet:=excel.workbooks[1].worksheets[1];
sheet.activate;
sheet.cells[1,1]:='学生信息表';//在第一列第一行写入表名
ADOQuery1.First;//定位到ADOQuery1第一行
for i:=1 to ADOQuery1.RecordCount do//循环写入
begin
sheet.cells[i+2,1]:=ADOQuery1.FieldByName('姓名').AsString;
sheet.cells[i+2,2]:=ADOQuery1.FieldByName('学号').AsString;
sheet.cells[i+2,3]:=ADOQuery1.FieldByName('备注').AsString;
ADOQuery1.Next;
end;
range:=sheet.range[sheet.cells[1,1],sheet.cells[i+2,3]];
range.Borders.LineStyle:=1; //这两行是给打印的表加边框
end;