大哥們:
請問有什麼又快又好的方法可以把dbrid的數據轉成excel,如果有第三方控件的話請發[email protected]
請問有什麼又快又好的方法可以把dbrid的數據轉成excel,如果有第三方控件的話請發[email protected]
解决方案 »
- 急!!调用带有指针的DLL问题!!
- 字符串变量中含有一对单引号,并且要将这个字符串变量作为这个存储过程的参数来传递,请问该怎么做,补充如下:
- 程序正确编译,执行时提示组件的属性值无效?
- 如何在treeview里面增加一个header像listview那样?
- 心情好,散分...............
- aiirii(ari-爱的眼睛),请进来领分!-5
- 如何取ACCESS表中的字段标题,在线
- 一个ADO+ACESS2000的查询问题,谢谢
- 急急急!!!关于DELPHI+ADO+SQL2000
- 出几千元寻求超市管理软件?
- 系统通过BDE连接是弹出密码提示框
- 如何使用BlockRead把数据读到动态数组中?
如果是简单的导出很简单的
我给你一个d语言的procedure CopyDbDataToExcel(Target: TDbgrid;sheetname:string;filename:string);
var
iCount, jCount: Integer;
XLApp: Variant;
Sheet: Variant;
begin
Screen.Cursor := crHourGlass;
if not VarIsEmpty(XLApp) then
begin
XLApp.DisplayAlerts := False;
XLApp.Quit;
VarClear(XLApp);
end;
//通过ole创建Excel对象
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
Exit;
end;
XLApp.WorkBooks.Add[filename]; //你要把数据放在那里
XLApp.WorkBooks[1].WorkSheets[1].Name := sheetname;
Sheet := XLApp.Workbooks[1].WorkSheets[XLApp.WorkBooks[1].WorkSheets[1].Name];
if not Target.DataSource.DataSet.Active then
begin
Screen.Cursor := crDefault;
Exit;
end;
Target.DataSource.DataSet.first;
//ExcelWorkSheet1.Cells.NumberFormat :='@'for iCount := 0 to Target.Columns.Count - 1 do
begin
Sheet.cells[1, iCount + 1] := Target.Columns.Items[iCount].Title.Caption;
end;
jCount := 1;
while not Target.DataSource.DataSet.Eof do
begin
for iCount := 0 to Target.Columns.Count - 1 do
begin
Sheet.cells[jCount + 1, iCount + 1] := Target.Columns.Items[iCount].Field.AsString;
end;
Inc(jCount);
Target.DataSource.DataSet.Next;
end;
XlApp.Visible := True;
Screen.Cursor := crDefault;
end;
procedure CopyDbDataToExcel(Target: TDbgrid;sheetname:string;filename:string);
这些是传入函数