如何把数据库导出为电子表格文件? 如何把数据库导出为电子表格文件?麻烦给出代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是excel就非常简单拉。你把它写成一个文本文件,文件名改成.xls,自然excel会认得。 给你一段我的代码你改一下.procedure tformprintlist.printcover();varExcelApp,MyWorkBook: OLEVariant;mbgrq:tdate;begin mbgrq:=date(); try ExcelApp:=CreateOleObject('Excel.Application'); except application.Messagebox('无法打开Xls文件,请确认已 经安装EXCEL.','', mb_OK+mb_IconStop); Exit; end; label1.caption:=' 正在生成打印文件...... '; labelshow .Caption :=' 正在打开excel模板 '; formprintlist.Refresh ; try MyworkBook:= ExcelApp.workBooks.open(GetCurrentDir+'\'+'cover.xls'); MyworkBook.Protect('',true); except on exception do begin messagedlg('请检查是否正确安装了Excel程序?',mtWarning ,[mbOK],0); //formprogress.Close; exit; end; end; excelapp.cells[2,2]:=msybgbh; excelapp.cells[11,2]:=formbbgl.ComData1.Text +' '+msbmc+' '+listbaogao.Selected.SubItems.Strings[1]+'试验记录'; excelapp.cells[31,4]:=' '+listbaogao.Selected.SubItems.Strings[0]+' '; excelapp.cells[33,4]:=' '+listbaogao.Selected.SubItems.Strings[2]+' '; excelapp.cells[35,4]:=' '+listbaogao.Selected.SubItems.Strings[3]+'℃'+' '; //excelapp.cells[27,3]:='试验地点:__________'; //excelapp.cells[30,4]:=listbaogao.Selected.SubItems.Strings[0]; excelapp.visible:=true; if check1.Checked then myworkbook.printout else myworkbook.printpreview; excelapp.visible:=false; excelapp.displayalerts:=false; ExcelApp.quit; ExcelApp:=Unassigned; //释放VARIANT变量 label1.caption:=' '; labelshow .Caption :='';end; 利用Excel的内置功能导入数据 typeTForm1 = class(TForm)ADOQuery1: TADOQuery;Button1: TButton;procedure Button1Click(Sender: TObject);privateFExcelBook: TExcelWorkBook;FExcelSheet: TExcelWorkSheet;FExcelApp: TExcelApplication;procedure DataSetToExcel(AFileName: string);publicconstructor Create(AOwner: TComponent); override;destructor Destroy; override;{ Public declarations }end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.DataSetToExcel(AFileName: string);begintryFExcelApp.Visible[0] := False;tryFExcelBook.ConnectTo(FExcelApp.Workbooks.Add(EmptyParam, 0));exceptraise Exception.Create('连接到Excel文件出错,可能是没有安装Excel软件');end;FExcelSheet.ConnectTo(FExcelBook.Worksheets[1] as _WorkSheet);with FExcelSheet.QueryTables.Add(ADOQuery1.Recordset, FExcelSheet.Range['A3', EmptyParam], EmptyParam) dobeginFieldNames := False;Refresh(False);end;FExcelSheet.Columns.Item[3, EmptyParam].NumberFormatLocal := 'yyyy-mm-dd';FExcelBook.SaveCopyAs(AFileName);FExcelBook.Close(False);finallyFExcelApp.Quit;FExcelSheet.Disconnect;FExcelBook.Disconnect;FExcelApp.Disconnect;end;end;{ TForm1 }constructor TForm1.Create(AOwner: TComponent);begininherited;FExcelApp := TExcelApplication.Create(Self);FExcelBook := TExcelWorkBook.Create(Self);FExcelSheet := TExcelWorkSheet.Create(Self);end;destructor TForm1.Destroy;beginFExcelSheet.Free;FExcelBook.Free;FExcelApp.Free;inherited;end;procedure TForm1.Button1Click(Sender: TObject);beginCaption := 'begin open';with ADOQuery1 dobeginif not Active thenbeginSQL.Text := 'select * from mytable';Open;end;DataSetToExcel('c:.xls');end;end;这是利用Excel内置的功能,其它的功能各位再试试了。还有一篇是直接写Excel文件格式的:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1051160 http://www.delphibbs.com/delphibbs/dispq.asp?lid=621050http://www.delphibbs.com/delphibbs/dispq.asp?lid=203496 如何结合savedialog来把记录保存成xls文件? Cxgrid控件分组标题的修改 求助,我用dbgrideh 为什么数据库的 text 字段还是显示不出来? 怎样在mdi父窗体中去掉子窗体的标题栏? 如何确定程序所在目录 关于注入DLL的问题 难道没有高手可以解决这个问题吗??? 关于异常问题 简单问题 什么问题,怎么解决? 一个有关ComboBox的问题......... 关于DELPHI的变量声明问题(初学者)请大家帮忙,在线等待 输出结果怎么这样?
procedure tformprintlist.printcover();
var
ExcelApp,MyWorkBook: OLEVariant;
mbgrq:tdate;
begin
mbgrq:=date();
try
ExcelApp:=CreateOleObject('Excel.Application');
except
application.Messagebox('无法打开Xls文件,请确认已 经安装EXCEL.','',
mb_OK+mb_IconStop);
Exit;
end;
label1.caption:=' 正在生成打印文件...... ';
labelshow .Caption :=' 正在打开excel模板 ';
formprintlist.Refresh ;
try
MyworkBook:= ExcelApp.workBooks.open(GetCurrentDir+'\'+'cover.xls');
MyworkBook.Protect('',true);
except on exception do
begin
messagedlg('请检查是否正确安装了Excel程序?',mtWarning ,[mbOK],0);
//formprogress.Close;
exit;
end;
end; excelapp.cells[2,2]:=msybgbh;
excelapp.cells[11,2]:=formbbgl.ComData1.Text +' '+msbmc+' '+listbaogao.Selected.SubItems.Strings[1]+'试验记录';
excelapp.cells[31,4]:=' '+listbaogao.Selected.SubItems.Strings[0]+' ';
excelapp.cells[33,4]:=' '+listbaogao.Selected.SubItems.Strings[2]+' ';
excelapp.cells[35,4]:=' '+listbaogao.Selected.SubItems.Strings[3]+'℃'+' ';
//excelapp.cells[27,3]:='试验地点:__________';
//excelapp.cells[30,4]:=listbaogao.Selected.SubItems.Strings[0];
excelapp.visible:=true;
if check1.Checked then
myworkbook.printout
else myworkbook.printpreview;
excelapp.visible:=false;
excelapp.displayalerts:=false;
ExcelApp.quit;
ExcelApp:=Unassigned; //释放VARIANT变量
label1.caption:=' ';
labelshow .Caption :='';
end;
typeTForm1 = class(TForm)ADOQuery1: TADOQuery;Button1: TButton;procedure Button1Click(Sender: TObject);privateFExcelBook: TExcelWorkBook;FExcelSheet: TExcelWorkSheet;FExcelApp: TExcelApplication;procedure DataSetToExcel(AFileName: string);publicconstructor Create(AOwner: TComponent); override;destructor Destroy; override;{ Public declarations }end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.DataSetToExcel(AFileName: string);begintryFExcelApp.Visible[0] := False;tryFExcelBook.ConnectTo(FExcelApp.Workbooks.Add(EmptyParam, 0));exceptraise Exception.Create('连接到Excel文件出错,可能是没有安装Excel软件');end;FExcelSheet.ConnectTo(FExcelBook.Worksheets[1] as _WorkSheet);with FExcelSheet.QueryTables.Add(ADOQuery1.Recordset, FExcelSheet.Range['A3', EmptyParam], EmptyParam) dobeginFieldNames := False;Refresh(False);end;FExcelSheet.Columns.Item[3, EmptyParam].NumberFormatLocal := 'yyyy-mm-dd';FExcelBook.SaveCopyAs(AFileName);FExcelBook.Close(False);finallyFExcelApp.Quit;FExcelSheet.Disconnect;FExcelBook.Disconnect;FExcelApp.Disconnect;end;end;{ TForm1 }constructor TForm1.Create(AOwner: TComponent);begininherited;FExcelApp := TExcelApplication.Create(Self);FExcelBook := TExcelWorkBook.Create(Self);FExcelSheet := TExcelWorkSheet.Create(Self);end;destructor TForm1.Destroy;beginFExcelSheet.Free;FExcelBook.Free;FExcelApp.Free;inherited;end;procedure TForm1.Button1Click(Sender: TObject);beginCaption := 'begin open';with ADOQuery1 dobeginif not Active thenbeginSQL.Text := 'select * from mytable';Open;end;DataSetToExcel('c:.xls');end;end;这是利用Excel内置的功能,其它的功能各位再试试了。还有一篇是直接写Excel文件格式的:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1051160
http://www.delphibbs.com/delphibbs/dispq.asp?lid=203496