delphi7把数据从 DBGrid 组件中导出到 Excel 工作表中的程序
时间: 2024-03-15 20:45:14 浏览: 67
以下是一个将 Delphi7 中的 DBGrid 组件中的数据导出到 Excel 工作表的程序示例:
```delphi
procedure TForm1.ExportToExcel;
var
ExcelApp: Variant;
Sheet: Variant;
i, j: Integer;
begin
// 创建 Excel 应用程序对象
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Visible := True;
ExcelApp.Workbooks.Add;
Sheet := ExcelApp.ActiveSheet;
// 复制 DBGrid 中的列标题到 Excel 工作表中
for i := 0 to DBGrid1.Columns.Count - 1 do
begin
Sheet.Cells[1, i + 1].Value := DBGrid1.Columns[i].Title.Caption;
end;
// 复制 DBGrid 中的数据到 Excel 工作表中
for i := 0 to DBGrid1.DataSource.DataSet.RecordCount - 1 do
begin
for j := 0 to DBGrid1.Columns.Count - 1 do
begin
Sheet.Cells[i + 2, j + 1].Value := DBGrid1.DataSource.DataSet.Fields[j].Value;
end;
DBGrid1.DataSource.DataSet.Next;
end;
// 自适应列宽
Sheet.Columns.AutoFit;
end;
```
上述程序中,首先创建了一个 Excel 应用程序对象 ExcelApp,并将其设置为可见状态。然后通过调用 Add 方法创建一个新的工作簿,并获取工作簿的第一个工作表对象 Sheet。接着通过循环遍历 DBGrid 中的列标题和数据,将它们分别复制到 Excel 工作表中。最后调用 AutoFit 方法自适应列宽,使表格看起来更加美观。
阅读全文