`

Delphi控制Word的报表例子介绍--转

阅读更多

 

说明:WordApp是Server下的TWordApplication组件,WordDoc是TWordDocument组件,
dtmFaultFrom是一个DateTimePicker组件的名字,其他以dtm开头的组件都是

var
myTable: Table;
oleCount,oleUnit: Olevariant;
begin
//以下打开word新的文档
try
WordApp.Connect;
WordApp.Caption := 打印故障记录;
WordApp.Visible := true;
except
MessageBox(Self.Handle,您可能没有正确安装MicroSoft Word 2000!,提示,0);
end;
WordDoc.ConnectTo(WordApp.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam));
WordDoc.Activate;

//设置页面大小和左右间距
//600磅=21cm,850磅=29.7cm,是标准A4纸张大小,每磅0.035cm,
WordDoc.PageSetup.PageWidth := 600;
WordDoc.PageSetup.PageHeight := 850;
WordDOc.PageSetup.LeftMargin := 50;
WordDoc.PageSetup.RightMargin := 50;

//设置标题内容和字体
WordApp.Selection.Font.Size := 15;
WordApp.Selection.Font.Name := 黑体;
WordApp.Selection.Font.Color := clBlack;
WordApp.Selection.Font.Bold := 1;
WordApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;
WordApp.Selection.TypeText(故障记录);

//设置正文内容和字体
WordApp.Selection.Font.Size := 11;
WordApp.Selection.Font.Name := 宋体;
WordApp.Selection.Font.Color := clBlack;
WordApp.Selection.Font.Bold := 0;
WordApp.Selection.TypeParagraph;
WordApp.Selection.TypeParagraph;
WordApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphJustify;

//以下插入表格
oleUnit := wdLine;
oleCount := 2;
MyTable := WordApp.Selection.Tables.Add(WordApp.Selection.Range,1,4,EmptyParam,EmptyParam);
MyTable.Cell(1,1).Height := 20;
MyTable.Cell(1,1).Range.Text := 设备名称: +光端机;
MyTable.Cell(1,2).Range.Text := 设备编号: +GDJ031102;
MyTable.Cell(1,3).Range.Text := 设备类型: +西门子R78;
MyTable.Cell(1,4).Range.Text := 所属站点: +XX供电局;
//下移2行添加新的表格,因为上下的列数不一样
WordApp.Selection.MoveDown(oleUnit,oleCount,EmptyParam);
MyTable := WordApp.Selection.Tables.Add(WordApp.Selection.Range,7,1,EmptyParam,EmptyParam);
//新插入的表格和上面一个表格是连在一起的,所以word认为是一个表格
MyTable.Cell(2,1).Height := 20;
MyTable.Cell(3,1).Height := 20;
MyTable.Cell(2,1).Range.Text := 故障时间从: +FormatDateTime(yyyy年mm月dd日,dtmFaultFrom.Date)
+ +FormatDateTime(hh时mm分ss秒,dtmFaultFromTime.Time)+ 至
+FormatDateTime(yyyy年mm月dd日,dtmFaultTo.Date)+ +FormatDateTime(hh时mm分ss秒,dtmFaultToTime.Time);
MyTable.Cell(3,1).Range.Text := 检修时间从: +FormatDateTime(yyyy年mm月dd日,dtmCheckFrom.Date)
+ +FormatDateTime(hh时mm分ss秒,dtmCheckFromTime.Time)+ 至
+FormatDateTime(yyyy年mm月dd日,dtmCheckTo.Date)+ +FormatDateTime(hh时mm分ss秒,dtmCheckToTime.Time);
MyTable.Cell(4,1).Range.Text := 故障现象:#13+设备不能正常工作;
MyTable.Cell(5,1).Range.Text := 故障原因:#13+尚未检修出来;
MyTable.Cell(6,1).Range.Text := 检修情况:#13+努力中;
MyTable.Cell(7,1).Height := 20;
MyTable.Cell(8,1).Height := 20;
MyTable.Cell(7,1).Range.Text := 检修班组:#9+有线班;
MyTable.Cell(8,1).Range.Text := 检修人员:#9+小张,小王等人;
end;
 

分享到:
评论

相关推荐

    华报智能报表工具

    华报智能报表工具(ReportAll)是开发人员最理想的报表工具,具有全新的设计思想,对中国式报表和很多复杂报表有很强的针对性,他将“对象摆放”类和“电子表格”类报表开发工具完美融合,使用种类丰富且功能强大的...

    vc++ 开发实例源码包

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    网管教程 从入门到精通软件篇.txt

    可用NSREX打开 Velvet Studio例子文件 ASF:Microsoft高级流媒体格式文件 ASM:汇编语言源文件,Pro/E装配文件 ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件 AST:Astound多媒体文件;...

    vc++ 应用源码包_1

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_2

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_6

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_5

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_3

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

    Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...

Global site tag (gtag.js) - Google Analytics