如何用DELPHI代码或者控件将SQL的里的数据导入EXCEL里

SQL是2个表连接,导出的效果是A表名称1A表名称2A表名称3B表名称1B表数据1B表数据2B表数据3B表名称2B表数据1B表数据2B表数据3A表和B表有外键连接用DEL... SQL是2个表连接,导出的效果是
A表名称1 A表名称2 A表名称3
B表名称1 B表数据1 B表数据2 B表数据3
B表名称2 B表数据1 B表数据2 B表数据3
A表和B表有外键连接
用DELPHI代码或者控件如何实现
进口材公司 木材分公司 人造板公司
现金 12345.99 1234.4 1234.21
银行存款 2134.4 213.1 1212.3
内部银行 31313.3 1212.3 121212.3

公司名称在数据库A表里 项目和数据在B表里, SQL语句如何查询?
剩下的就是代码去实现从数据库导出数据到EXECL表里了
展开
 我来答
cnxh2007
2010-08-12 · TA获得超过999个赞
知道小有建树答主
回答量:476
采纳率:86%
帮助的人:380万
展开全部
A和B表通过什么字段关连呢?公司名?这个知道了才好写语句

Delphi好象有几个控件可以操纵EXCEL的,当然用OLE自动化也可以,以下是找到的一些控件的使用例子,熟悉后应该能实现你的功能了:

在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
打开Excel
ExcelApplication1.Connect;
显示当前窗口:
ExcelApplication1.Visible[0]:=True;
更改 Excel 标题栏:
ExcelApplication1.Caption := '应用程序调用 Microsoft Excel';
添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
添加新工作表:
var Temp_Worksheet: _WorkSheet;
begin
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
End;
打开已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
设置第2个工作表为活动工作表:
ExcelApplication1.WorkSheets[2].Activate; 或
ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;
给单元格赋值:
ExcelApplication1.Cells[1,4].Value := '第一行第四列';
拷贝整个工作表:
ExcelApplication1.ActiveSheet.Used.Range.Copy;
拷贝指定区域:
ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;
从A1位置开始粘贴:
ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
从文件尾部开始粘贴:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Insert;
b. ExcelApplication1.ActiveSheet.Columns[1].Insert;
删除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Delete;
b. ExcelApplication1.ActiveSheet.Columns[1].Delete;
打印预览工作表:
ExcelApplication1.ActiveSheet.PrintPreview;
打印输出工作表:
ExcelApplication1.ActiveSheet.PrintOut;
工作表保存:
if not ExcelApplication1.ActiveWorkBook.Saved then
ExcelApplication1.ActiveSheet.PrintPreview;
工作表另存为:
ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );
放弃存盘:
ExcelApplication1.ActiveWorkBook.Saved := True;
关闭工作簿:
ExcelApplication1.WorkBooks.Close;
退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
iuwenjun
2010-08-11
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
不明白,能不能弄一个表格看看具体是什么样的,这样才能做程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
UserZh
2010-08-12
知道答主
回答量:16
采纳率:0%
帮助的人:11.7万
展开全部
最简单的方式就是用cxGrid控件. 你把你查询出的结果在 cxGrid中显示.然后用 ExportGridToExcel('c:\aaa.xls', cxGrid1, True, True);就可以了 简单直接 方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c8d7507
2010-08-12
知道答主
回答量:15
采纳率:0%
帮助的人:9285
展开全部
我用dev express公司的dxDBgrid,功能很强
dxdbgrid1.SaveToXLS(savedialog1.FileName,true);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式