如何提高从dbGRID输出数据到EXCEL的速度?
procedure TForm1.CopyDbDataToExcel(Args: array of const);
var
iCount, jCount, rCount, I: Integer;
XLApp, Sheet: Variant;
begin
Screen.Cursor := crHourGlass;
if not VarIsEmpty(XLApp) then
begin
XLApp.DisplayAlerts := False;
XLApp.Quit;
VarClear(XLApp);
end;
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
Exit;
end;
XLApp.WorkBooks.Add;
XLApp.SheetsInNewWorkbook := High(Args) + 1;
for I := Low(Args) to High(Args) do
begin
XLApp.WorkBooks[1].WorkSheets[I + 1].Name :=
TDBGrid(Args[I].VObject).Name;
Sheet := XLApp.Workbooks[1].WorkSheets[TDBGrid(Args[I].VObject).Name];
if not TDBGrid(Args[I].VObject).DataSource.DataSet.Active then
begin
Screen.Cursor := crDefault;
Exit;
end;
rCount := TDBGrid(Args[I].VObject).Columns.Count - 1;
TDBGrid(Args[I].VObject).DataSource.DataSet.First;
for iCount := 0 to rCount do
Sheet.Cells[1, iCount + 1] :=
TDBGrid(Args[I].VObject).Columns.Items[iCount].Title.Caption;
jCount := 1;
while not TDBGrid(Args[I].VObject).DataSource.DataSet.EOF do
begin
for iCount := 0 to rCount do
Sheet.Cells[jCount + 1, iCount + 1] :=
TDBGrid(Args[I].VObject).Columns.Items[iCount].Field.AsString;
Inc(jCount);
TDBGrid(Args[I].VObject).DataSource.DataSet.Next;
end;
XlApp.Visible := True;
end;
Screen.Cursor := crDefault;
end;
相关推荐
delphi dbgrid 导出Excel表
delphi dbgrid 导出Excel表delphi dbgrid 导出Excel表
VC 不用OLE将StringGrid/DBGrid转换为Excel格式.rar
VC 不用OLE将StringGrid/DBGrid转换为Excel格式,此源码例子中包括两个功能演示,一是不使用OLE将StringGrid数据转换为Excel格式,二是不使用OLE将DBGrid数据转换为Excel格式,因为用OLE写Excel的方式,不适用于大数据,若使用这种方法转换需要你有耐性,且可能会让电脑崩溃。不使用OLE的方式,就请参见本源码包中的例子,转换速度快,相信不会让你失望。
python各种excel写入方式的速度对比
经过实验,新建一个excel表格,该表格拥有7个sheet,每个sheet有800条数据,其中最后一个sheet为空。 首先使用openpyxl进行写入操作,代码如下: book = openpyxl.Workbook() auths = Auth.objects.filter(owner_id=1) filename = '导出数据' for auth in auths: sheet = book.create_sheet(auth.name, index = 0) sheet.append([ _("书名"), _("作者"), _("译者")
Delphi中导出到Excel的程序例子: DBGridToExcel
Delphi中导出到Excel的程序例子: DBGridToExcel, 速度很快,试过 2 万条的数据导出, 没试过更多的数据导出,速度应该也会很快, 学习它绝对有用 !!!
用Python将数据写入已存在Excel
用python将数据写入已存在的excel



