(pObjectSource).Columns.Items[ColNumber] .Title.Caption; {将 DBGrid 中的记录写入 Excel 文件中} RowNumber:=3; //根据传入的 Sql 进行查询,加上导出的数据 FuncQueryOpen(I_Query,I_Sql); If Not I_Query.IsEmpty Then Begin I_Query.DisableControls; try I_Query.First; While Not I_Query.Eof Do Begin For ColNumber:=0 To TDBGrid(pObjectSource).Columns.Count-1 Do Begin Try
WorkBook.Cells(RowNumber,ColNumber+1) :=I_Query.FieldByName(TDBGrid(pObjectSource). Columns.Items[ColNumber].FieldName).AsString;
Except WorkBook.Cells(RowNumber,ColNumber+1):=''; End; End;
RowNumber:=RowNumber+1; I_Query.Next; End; finally I_Query.EnableControls; end; End; End; WorkBook.saveas(xlsFileName); try //关闭所有
工作页 for i:=1 to eclApp.WorkBooks.count do eclApp.WorkBooks[i].Close; finally eclApp.Quit; end; // eclApp:=Unassigned; V_Msg:='数据导出成功,存放在'+xlsFileName; MessageDlg(V_Msg,mtInformation, [mbYes], 0); Result:=True; except MessageDlg('不能正确操作该文件'+#13+ '可能是该文件已被其他程序打开, 或系统错误' ,mtInformation, [mbYes], 0); ExcelSaveDialog.free; ExcelSaveDialog :=nil; try for i:=1 to eclApp.WorkBooks.count do eclApp.WorkBooks[i].Close;