社区
数据库相关
帖子详情
DELPHI中如何用EXCEL做报表输出
zl1980
2003-03-23 10:54:48
DELPHI中如何调用EXCEL,将数据库中的数据按顺序写入EXCEL表中,打印输出。
...全文
176
16
打赏
收藏
DELPHI中如何用EXCEL做报表输出
DELPHI中如何调用EXCEL,将数据库中的数据按顺序写入EXCEL表中,打印输出。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lglchf
2003-04-03
打赏
举报
回复
难道就不能用ADO 操作EXCEL吗?
zl1215
2003-03-26
打赏
举报
回复
还是不行啊,进程中有太多的EXCEL程序在运行,都没有被关闭,这样很容易死机。
怎样彻底关闭EXCEL程序
blueshu
2003-03-26
打赏
举报
回复
hehe
zl1215
2003-03-26
打赏
举报
回复
可以了,将CONNECTKIND改一下就可以了,糊弄了大家半天不好意思。
zl1215
2003-03-26
打赏
举报
回复
excelapplication1.Quit;
excelapplication1.Disconnect;
这两句也加上去了,怎样才能直接关闭EXCEL程序呢,我不能每次调用完后都按CTRL+ALT+DEL来关闭EXCEL啊
WWWWA
2003-03-26
打赏
举报
回复
excelapplication1.Quit;
excelapplication1.Disconnect;
这两句断开连接。也可以直接关闭EXCEL。
用WOM、超级兔子等查看进程,如有EXCEL则KILL。
最简单方法,CTRL+ALT+DEL,查看正在运行的程序,
如有EXCEL则KILL。
zl1215
2003-03-26
打赏
举报
回复
有没有人帮忙看一看啊
LeonLin
2003-03-24
打赏
举报
回复
UP,同意楼上的
WWWWA
2003-03-24
打赏
举报
回复
unit EXCELA;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Excel2000, OleServer, DB, DBTables, ComCtrls, Buttons,
ExtCtrls, jpeg;
type
TForm1 = class(TForm)
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
Button1: TButton;
Table1: TTable;
StatusBar1: TStatusBar;
BitBtn1: TBitBtn;
Shape1: TShape;
Bevel1: TBevel;
DateTimePicker1: TDateTimePicker;
Image1: TImage;
ExcelWorksheet2: TExcelWorksheet;
ExcelWorksheet3: TExcelWorksheet;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i,j,k,l,m,n:integer;ColumnRange,qzw,qzw1,QZW2: Variant;
begin
excelapplication1.Connect;
excelapplication1.Caption:='123';
excelapplication1.Visible[0]:=true;
excelapplication1.Workbooks.Add(null,0);
excelworkbook1.ConnectTo(excelapplication1.Workbooks[1]);
excelworksheet1.ConnectTo(excelworkbook1.Worksheets[1] as _worksheet);
excelworksheet2.ConnectTo(excelworkbook1.Worksheets[2] as _worksheet);
excelworksheet3.ConnectTo(excelworkbook1.Worksheets[3] as _worksheet);
excelworksheet2.Activate;
excelworksheet3.Name:='zwtlzr3';
excelworksheet2.Name:='zwtlzr2';
excelworksheet1.Name:='zwtlzr1';
excelworksheet2.Columns.Font.Name:='黑体';
//excelworksheet2.Cells.Item[1,1]:='zw';
//excelworksheet2.Cells.Item[1,2]:='zw1';
qzw:=excelworksheet2.rows;
QZW1:=excelworksheet2.Range['A1','e1'];
QZW1.MERGE;
qzw1:=excelworksheet2.Range['A2','a10'];
qzw1.Merge;
qzw1:=excelworksheet2.Range['A2','a1'];
qzw1.Interior.ColorIndex:=3;
qzw.rows[1].rowheight:=30;
qzw.rows[1].font.color:=clblue;
qzw.rows[1].font.bold:=true;
qzw.rows[1].font.underline:=true;
QZW.ROWS[11].PAGEBREAK:=1;
excelworksheet2.PageSetup.PrintTitleRows:='$12:$12';
ColumnRange:= excelworksheet2.Columns;
ColumnRange.Columns[3].ColumnWidth:=30;
ColumnRange.Columns[3].font.name:='隶书';
ColumnRange.Columns[3].font.color:=clblue;
excelworksheet2.PageSetup.PrintGridlines:=true;
excelworksheet2.PageSetup.PaperSize:=XLPAPERA4;
//excelworksheet2.PageSetup.PaperSize:=XLPAPERuser;
excelworksheet2.PageSetup.CenterFooter:='第abc&P页共&N页&d&t&f&a';
excelworksheet2.PageSetup.PrintTitleRows:='$1:$2';
excelworksheet2.PageSetup.Orientation:=XLLANDSCAPE;
//ColumnRange.Columns[1].numberformatlocal:='G/通用格式';
//ColumnRange.Columns[1].numberformatlocal:='@';
excelworksheet2.PageSetup.CenterHeader:= '&"隶书"报表演示'#13+'1213';
table1.Close;
table1.DatabaseName:='e:\gzkd';
table1.TableName:='jzg.dbf';
table1.TableType:=ttfoxpro;
table1.Open;
j:=2;
k:=3;
excelworksheet2.Cells.Item[2,1]:='11';
excelworksheet2.Cells.Item[2,1].Orientation:= xlVertical;
excelworksheet2.Cells.Item[2,1].VerticalAlignment:= xlVAlignCenter;
excelworksheet2.Cells.Item[2,2]:='22';
excelworksheet2.Cells.Item[2,3]:='33';
excelworksheet2.Cells.Item[2,4]:='44';
excelworksheet2.Cells.Item[2,5]:='55';
for i:=1 to 100 do
begin
excelworksheet2.Cells.Item[k,2]:=table1.Fields[0].AsString;
excelworksheet2.Cells.Item[k,3]:=table1.Fields[1].AsString;
excelworksheet2.Cells.Item[k,4].numberformatlocal:='0.00';
excelworksheet2.Cells.Item[k,4]:=table1.Fieldbyname('11').AsFloat;
excelworksheet2.Cells.Item[k,5]:=table1.Fieldbyname('22').AsFloat;
excelworksheet2.Cells.Item[k,5].numberformatlocal:='0.00';
//excelworksheet2.Cells.Item[k,1].numberformatlocal:='0';
if i=10 then excelworksheet2.PageSetup.PrintTitleRows:='$12:$12';
k:=k+1;
table1.Next;
end;
excelworksheet2.Cells.Item[k+1,2]:='合 计';
excelworksheet2.Cells.Item[k+1,4]:='=sum(d1:d100)';
excelworksheet2.Cells.Item[k+1,5]:='=sum(e1:e100)';
excelworksheet2.Cells.Item[k+1,4].numberformatlocal:='0.00';
excelworksheet2.Cells.Item[k+1,5].numberformatlocal:='0.00';
excelworksheet2.Cells.Item[1,2].font.name:='黑体';
excelworksheet2.Cells.Item[1,1]:='123';
excelworksheet2.Cells.Item[1,1].HorizontalAlignment := xlCenter;
excelworksheet2.Cells.Item[1,1].font.size:=20;
ColumnRange.Columns[4].numberformatlocal:='#,##0.00';
excelworksheet2.Cells.Item[105,3]:=excelworksheet2.PageSetup.CenterHeader;
excelworksheet2.Cells.Item[105,4]:=Pos(#13,excelworksheet2.PageSetup.CenterHeader);
excelworksheet2.Cells.Item[105,5]:='&p';
excelworksheet2.Protect('123',true,true,true,true);
excelworksheet2.PrintPreview;
excelworkBOOK1.Saved[1]:=TRUE;
QZW2:='12345';
//excelworksheet2.SaveAs('e:\txt\123.xls',XLEXCEL9795,'789');
//QZW1.UNMERGE;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
excelapplication1.Quit;
excelapplication1.Disconnect;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
table1.Open;
statusbar1.Panels[0].Text:=table1.TableName;
statusbar1.Panels[1].Text:=inttostr(table1.RecordCount);
end;
end.
zl1215
2003-03-24
打赏
举报
回复
up
zl1215
2003-03-24
打赏
举报
回复
还是不行
form1.ExcelWorksheet1.Disconnect ;
form1.ExcelWorkbook1.Disconnect ;
form1.ExcelApplication1.Disconnect ;
excelapplication1.Connect;
excelapplication1.Caption:='123';
form1.ExcelApplication1.Visible[0]:=true;
excelapplication1.Caption:='excel调用';
form1.ExcelApplication1.Workbooks.Add(null,0);
form1.ExcelWorkbook1.ConnectTo(excelapplication1.Workbooks[1]);
form1.ExcelWorksheet1.ConnectTo(excelworkbook1.Worksheets[1] as _worksheet);
form1.ExcelWorksheet1.Name:='第一页';
form1.excelworksheet1.Activate ;
helloqiner
2003-03-24
打赏
举报
回复
需要
ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelApplication1.Disconnect;
都断开才行。
zl1215
2003-03-24
打赏
举报
回复
可是不行
zl1215
2003-03-24
打赏
举报
回复
怎麽断开,我用的是DISCONNECT
WWWWA
2003-03-24
打赏
举报
回复
第二次调用前,必须断开第一次的连接。
zl1980
2003-03-24
打赏
举报
回复
为什麽只在第一次 能成功打开EXCEL,第二次就不行了
excelapplication1.Connect;
excelapplication1.Caption:='123';
form1.ExcelApplication1.Visible[0]:=true;
excelapplication1.Caption:='excel调用';
form1.ExcelApplication1.Workbooks.Add(null,0);
form1.ExcelWorkbook1.ConnectTo(excelapplication1.Workbooks[1]);
form1.ExcelWorksheet1.ConnectTo(excelworkbook1.Worksheets[1] as _worksheet);
form1.ExcelWorksheet1.Name:='第一页';
form1.excelworksheet1.Activate ;
delphi
高效率导出数据到
excel
Delphi
是一个功能强大的开发工具,可以用于开发各种类型的应用程序,而
Excel
是一个非常popular的电子表格软件,经常用于数据分析和处理。在实际开发
中
,我们经常需要将数据从
Delphi
应用程序
中
导出到
Excel
中
,...
Delphi
实现
Excel
的XLL插件.pdf
Microsoft
Excel
是一种常用的电子表格软件,人们经常用它来制作各种
报表
,
Excel
提供了多种方式来扩展其功能,其
中
XLL插件是一种重要的扩展方式。 XLL插件是指包含
Excel
加载项管理器所需回调以及XLL导出命令和工作表...
delphi
EXCEL
复杂
报表
开发
总的来说,"
Delphi
EXCEL
复杂
报表
开发"涵盖了从数据获取、
报表
设计、数据计算、交互处理到
输出
的一系列环节。通过熟练掌握上述知识点,开发者可以创建出功能强大、交互性好的
Excel
报表
系统,满足各种业务需求。
delphi
导出
excel
应用
本篇文章将详细探讨如何在
Delphi
中
实现
Excel
的导出功能,以及如何控制
Excel
的
输出
格式。 1. **使用ComObject与
Excel
交互**
Delphi
不直接内置对
Excel
的支持,但可以通过COM(Component Object Model)对象来调用...
delphi
从Access
输出
到
Excel
有时,我们需要将Access
中
的数据导出到
Excel
,以便进行更复杂的分析、
报表
制作或者与其他系统进行数据交换。本篇文章将详细探讨如何在
Delphi
环境下实现这一功能。 首先,你需要确保你的
Delphi
环境
中
已经安装了适用...
数据库相关
2,507
社区成员
88,453
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章