delphi7中如何把数据库中数据保存为excel文件
2012-04-05 14:54
323 查看
如果我们对delphi中的通常打印报表控件使用感到不方便的时候,则可以选择:
把数据库中的数据先保存到excel文件中,这样用户既保存了文件,又可以很方便的打印。
控件:ADOConnection、ADOQuery、DataSource、SaveDialog、dxDBGrid
把数据库中的数据先保存到excel文件中,这样用户既保存了文件,又可以很方便的打印。
控件:ADOConnection、ADOQuery、DataSource、SaveDialog、dxDBGrid
procedure TForm1.FormCreate(Sender: TObject); var sqlstr:string; begin sqlStr := 'select * from Table'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sqlStr); ADOQuery1.Open; end; procedure TForm1.Button1Click(Sender: TObject); var eclApp,WorkBook:olevariant; xlsFileName:string; i,j:integer; begin if SaveDialog1.Execute then xlsFileName:=SaveDialog1.FileName; try eclApp:=CreateOleObject('Excel.Application'); WorkBook:=CreateOleObject('Excel.Sheet'); except Application.MessageBox('系统没有安装Microsoft Excel','Microsoft Excel',MB_OK+MB_ICONWarning); Exit; end; try WorkBook:=eclApp.workbooks.Add; for i:=0 to dxDBGrid1.ColumnCount-1 do begin //这里可以更改列名,用if ... then进行判断和指定列名 eclApp.Cells(1,i+1):=dxDBGrid1.Columns[i].FieldName; end; dxDBGrid1.DataSource.DataSet.First; j:=2; while not dxDBGrid1.DataSource.DataSet.Eof do begin //for i:=0 to dxDBGrid1.DataSource.DataSet.FieldCount-1 do 2,3,5 { for i:=0 to dxDBGrid1.ColumnCount-1 do begin eclApp.Cells(j,i+1):=dxDBGrid1.DataSource.DataSet.Fields[i].Value; end; } eclApp.Cells(j,1):=dxDBGrid1.DataSource.DataSet.Fields[2].Value; eclApp.Cells(j,2):=dxDBGrid1.DataSource.DataSet.Fields[3].Value; eclApp.Cells(j,3):=dxDBGrid1.DataSource.DataSet.Fields[5].Value; dxDBGrid1.DataSource.DataSet.Next; inc(j); end; WorkBook.SaveAS(xlsFileName); WorkBook.close; except ShowMessage('文件导出失败!'); Exit; end; Application.MessageBox('保存成功!','恭喜',MB_OK + MB_ICONINFORMATION); end;测试:1426条记录,<15s VS MFC下面 <10s,这个时间,用户应该是可以接受的吧?
相关文章推荐
- 如何将String[]类型的数据保存到数据库里
- [转]如何用数据库保存多级结构的数据
- 如何将任何文件类型数据保存到数据库中
- HOWTO:如何分别把每个用户的自定义模型数据保存到数据库
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- 如何解决数据保存数据库后出现中文变"?"的问题
- Web前端 测试数据接口url,如何post一个XML字符串,点击保存就可以保存到数据库
- 如何将大数据保存到 MySql 数据库
- 在DataGridView中修改后的数据如何保存到数据库
- JAVA中如何将以Date型的数据保存到数据库以Datetime型的字段中
- JAVA中如何将以Date型的数据保存到数据库以Datetime型的字段中
- 持久化会话:将数据保存至ASPState数据库,如何设定表ASPStateTempApplications和表ASPStateTempSessions的存放位置?
- 树形结构的数据如何保存到关系型的数据库
- 【WPF学习笔记】之如何保存画面上新建的数据到数据库中并且删除画面上的数据和数据库的数据:动画系列之(五)
- 数据库中如何保存多级结构的数据
- 如何将TextBox数据提交到GridView显示再保存到数据库
- 在asp.net中如何用LinkBtutton按钮实现安全退出,并保存当前页面数据与数据库中
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- 如何将数据库中获取的数据保存在数组中