将数据导出到excel的方法有多种,速度有快慢之分,我用过三种方法,速度都比较快,下面的一种利用excel内置的功能,是三种之中最快的.其中最主要的是下面两句:
xlquery := xlsheet.querytables.add(adoqexport.recordset ,xlsheet.range[a3]); 【程序编程相关:在Delphi中开发使用多显示器的应用程】 【推荐阅读:Debugging ActiveForm】 xlquery.refresh; 【扩展信息:利用Indy的TIdFtp控件实现FTP】 不过我这里稍为复杂一点,要通过某种条件完成分类汇总.function exporttoexcel: boolean;
var xlapp, xlbook, xlsheet, xlquery: variant; sqlcmd: string; i, inextrow: integer;//设定单元格默认格式
procedure excelsetdefaultformat; begin xlsheet.cells.font.name := 宋体; xlsheet.cells.font.size := 12; xlsheet.cells.verticalalignment := 2; //xlsheet.cells.rowheight := 17.25; xlsheet.range[c:d].horizontalalignment := xlcenter; end;//输出标题
procedure excelsetheader; begin xlsheet.range[a1].value := 显示在报表第一行的标题; xlsheet.range[a1:f1].horizontalalignment := 7; xlsheet.range[1:1].font.size := 18; xlsheet.range[1:1].font.bold := true; xlsheet.range[a2].value := 文件编号:wl/b 19; xlsheet.range[a2].font.size := 11; xlsheet.range[f2].value := 记录编号:gz-023; ... 下一页