//怎样可以提高EXCEL的导出速度?
function TForm1.ExportToExcel: Boolean; var xlApp,xlBook,xlSheet,xlQuery: Variant; adoConnection,adoRecordset: Variant; begin adoConnection := CreateOleObject('ADODB.Connection'); adoRecordset := CreateOleObject('ADODB.Recordset'); adoConnection.Open(ADOConnectionString); adoRecordset.CursorLocation := adUseClient; adoRecordset.Open('SELECT * FROM tableName',adoConnection,1,3);
xlApp := CreateOleObject('Excel.Application'); xlBook := xlApp.Workbooks.Add; xlSheet := xlBook.Worksheets['sheet1']; xlApp.Visible := True;
//把查询结果导入EXCEL数据
xlQuery := xlSheet.QueryTables.Add(adoRecordset,xlSheet.Range['A1']); //关键是这一句 xlQuery.FieldNames := True; xlQuery.RowNumbers := False; xlQuery.FillAdjacentFormulas := False; xlQuery.PreserveFormatting := True; xlQuery.RefreshOnFileOpen := False; xlQuery.BackgroundQuery := True; //xlQuery.RefreshStyle := xlInsertDeleteCells; xlQuery.SavePassword := True; xlQuery.SaveData := True; xlQuery.AdjustColumnWidth := True; xlQuery.RefreshPeriod := 0; xlQuery.PreserveColumnInfo := True; xlQuery.FieldNames := True; xlQuery.Refresh;

|