如何把数据库导出为电子表格文件?麻烦给出代码

解决方案 »

  1.   

    如果是excel就非常简单拉。你把它写成一个文本文件,文件名改成.xls,自然excel会认得。
      

  2.   

    给你一段我的代码你改一下.
    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;
      

  3.   

    利用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
      

  4.   

    http://www.delphibbs.com/delphibbs/dispq.asp?lid=621050
    http://www.delphibbs.com/delphibbs/dispq.asp?lid=203496
      

  5.   

    如何结合savedialog来把记录保存成xls文件?