请问:在DELPHI+EXCEL中,如何合并两个单元格?

WWWWA 2002-08-28 03:48:14
请问:在DELPHI+EXCEL中,如何合并两个单元格?
谢谢!
...全文
2050 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WWWWA 2002-08-29
  • 打赏
  • 举报
回复
谢谢!问题已解决!
cobi 2002-08-29
  • 打赏
  • 举报
回复
try
myexcel:=createoleobject('excel.application');
myexcel.application.workbooks.add;
myexcel.caption:='车辆加油日明细表';
myexcel.application.visible:=true;
workbook:=myexcel.application.workbooks[1];
worksheet:=workbook.worksheets.item[1];
except
showmessage('EXCEL不存在!');
end;
myexcel.Range[worksheet.cells[2, 3], worksheet.cells[2, 8]].MergeCells := true;
worksheet.cells(1,4):='车辆加油日明细表';
worksheet.cells(2,3):=df.adoquery1.fields[0].asstring+' 年 '+
df.adoquery1.fields[1].asstring+' 月 '+
df.adoquery1.fields[2].asstring+' 日 ';
worksheet.cells(2,2):='日期:';
myexcel.Range[worksheet.cells[1,4],worksheet.cells[1,7]].select; //合并单元格
myexcel.selection.MergeCells := true;
myexcel.selection.HorizontalAlignment := xlCenter;
myexcel.selection.VerticalAlignment := xlcenter;
for i:=1 to df.ADOQuery1.FieldCount-3 do
worksheet.cells(3,1+i):= df.ADOQuery1.Fields[i+2].DisplayLabel ;
i:=3;
df.adoquery1.first;

while not df.adoquery1.eof do //赋明细值
begin
inc(i);
for j:=2 to df.adoquery1.fieldcount-2 do
worksheet.cells[i,j]:=df.adoquery1.fields[j+1].asstring;
df.adoquery1.next;
lastline:=i+1; //获得累计的行号
end ;
worksheet.cells(lastline,2):='累计';
df.ADOQuery2.Close;
df.ADOQuery2.SQL.Clear;
df.ADOQuery2.SQL.Add(Query2Str);
df.ADOQuery2.Open;
df.adoquery2.first;
for j:=0 to df.adoquery2.fieldcount-1 do //赋累计值
begin
worksheet.cells[lastline,j+4]:=df.adoquery2.fields[j].asstring;
df.adoquery2.next;
end;
tt1:='h'+inttostr(lastline); //画表
tt2:='h'+inttostr(lastline+1);
worksheet.Range[ 'a2',tt1 ].Borders[2].Weight :=2;
worksheet.Range[ 'b2',tt2 ].Borders[3].Weight :=2;
lastline:=lastline+1; //确定制表人的行号
worksheet.cells(lastline,6):='制表人:';
worksheet.cells(lastline,7):=NameLinkStr;
end;
WWWWA 2002-08-29
  • 打赏
  • 举报
回复
能给出一个例子吗?
谢谢!
tigerchina 2002-08-28
  • 打赏
  • 举报
回复
WorkSheet.Range[WorkSheet.Cells[xOrigin, yOrigin],
WorkSheet.Cells[xEnd, yEnd]].Merge;
zhxzhx 2002-08-28
  • 打赏
  • 举报
回复
你可以在execl中采用宏代换模式看看宏里面是怎么写的
如果实在不行你可以在excel中做好模板然后拷贝过去就可以成功,
我在VB中用过在Delphi中就没有这样用过了不过我想原理都是一样的祝你成功
Grid++Report是一款C/S与B/S集成报表工具,功能全面易学易用。C/S开发适用于VB.NET, C#, VB, VC, Delphi, BCB, 易语言等。B/S开发适用于ASP.NET, JSP(Java), ASP, PHP 等,支持所有操作系统与WEB服务器。开发C/S报表与B/S报表共享相同的开发知识与设计资源。提供独有的报表查询展示功能,让报表查询展示、打印、打印预览及数据导出等集成一体化实现。轻松实现表格报表、动态报表、多层表头、票据套打、交叉表、统计图表、表表及各种特殊报表等,是式报表的最佳开发工具。提供详尽帮助文档与各种编程平台下的丰富例子,安装包括可直接运行例子程序,安装后即刻体验此报表工具。Unicode编码,多国语言集成支持。历经数年发展,多家有影响力的通用软件厂商选用,用户遍布各行各业,已经成为用户受众面最广的国产报表工具。 Grid++Report 报表组件具有如下特点: 1、支持C/S报表与B/S报表开发,支持全部主流开发语言。C/S开发:VB.NET、C#、VB、VC、Delphi等,B/S开发:ASP.NET、JSP、ASP、PHP等,支持所有WEB服务器。 2、多国语言集成与UNICODE编码支持,方便开发多国语言软件。 3、功能强大,稳定高效:实现表格报表、多层表头、票据套打、交叉表等各种报表非常简便;报表完全可编程定义,适合开发通用软件的动态报表。 4、独有的报表查询显示功能:提供报表查询与输出的集成一次性实现,保证数据不同展现方式的一致性与完整性。 5、报表数据来源丰富:支持绑定(报表数据拉模式)与非绑定(报表数据推模式),一切数据库数据与其它数据都可以作为报表数据源。 6、提供图表功能,包括:饼图、叠加饼图、柱状图、气泡图、折线图、曲线图、散列点图等,支持三维图形。 7、报表数据导出格式丰富,格式包括:Excel、RTF、PDF、图像、HTML、文本,CSV 等。 8、支持数十种一维条码,支持PDF417与QRCode这两种最常用的二维条码,条码打印精度高且易读取。 9、提供脚本编程功能,直接在报表模板自定义报表行为,采用通用的JScript与VBScript脚本引擎。 10、特有的分组单元格合并功能,轻松实现常见的国式报表分组在列展现并垂直居要求。 11、全文界面,针对国式报表进行了很多专门实现,如:表格报表、财务金额线、大写金额、发票圈叉图标、负数红字、多层表头等。很多在国外报表工具很难实现的功能都可以轻易实现。 12、提供丰富交互事件,轻松实现报表行为自定义、穿透(透视)查询和报表交互。 13、重新发布简单:C/S报表只需分发两个DLL文件;B/S报表只要在WEB服务器布署报表网页与报表插件安装包,服务端不需其它配置,客户端零配置。 14、易学易用:完全可视化设计,完善的复制/剪切/粘贴(Copy/Cut/Paste)和恢复重做(Undo/Redo)功能,专业的拖放操作与即时编辑功能。 15、编写了完整详尽的帮助文档。提供了丰富例程,C/S报表包括VB.NET、C#、VB、VC、Delphi、C++Builder、VFP、文编程易语言,B/S报表包括ASP.NET,ASP,PHP,JSP。 Grid++Report 网站:http://www.rubylong.cn Grid++Report 演示:http://www.rubylong.cn/WebReport
1. 单元格合并(类似MS EXCEL,增强:合并单元格包含的行列可以移动)。(Cells merged,unmerged)2. 边框属性(类似MS EXCEL,增强:线宽可任意)。(Cell border line style)3. 斜线功能(一个单元格内可以含有两条斜线,符合国人的习惯)。4. 单元格文字属性(上下左右居对齐,多行文字,字体颜色,背景色)。(Cell text property, alignment)5. 公式运算(包含Delphi Script 解释器“Delphin”,可以执行Delphi 代码,显示 Delphi 的窗体文件DFM)。(Delphi interpreter)6. 行列极大(资源允许范围)。(MaxRowCount = 0xFFFF, MaxColCount=0xFFFF)7. 修改“Delphin”解释器,使之能够识别对单元格的引用。(Ref cell name in delphin)8. 对单元格之间循环引用的检查。(cell loop reference check)9. 自动调整行高、列宽。(AutoSizeRows, AutoSizeCols)10. 插入、删除、增加行列。(InsertRow, InsertCol)11. 隐藏、取消隐藏行列(Hide, Unhide Cols, Rows)12. 打印预览。(Print Preivew)13. 背景图像。(Background Image)(支持bmp,gif,jpg,pcx,tif…)14. 单元格数字格式、时间格式等等(类似 Excel)15. 单元格的计算公式或宏代码可以返回数组。16. 单元格批注。(类似 Excel)17. 单元格内的文字可以自动换行。18. 当有多页打印时,可以选择先行后列或者先列后行的打印方式。19. 页边距设置。20. 打印页面居功能。21. 编辑状态按比例缩放。22. 单元格内嵌控件(列表框,组合框,日期选择控件,……),目前支持与TdateTimePicker 的互动,计划支持更多控件,计划加入控件属性编辑器,加入控件事件宏功能(2000/12/13)23. 单元格绝对引用和相对引用的区分,A1,,$1(2000/12/13)24. 拷贝单元格时,自动调整相对引用的单元格。如:Cells[1,1] := ‘=B1’,拷贝到Cells[3,3],则Cells[3,3] := ‘=D3’(2000/12/13)25. 单元格名称可以使用文(2000/12/13)26. 函数分类列表(2000/12/13)27. 查找替换(2000/12/13)28. 设计模式(不执行单元格内的公式,但是检查语法和循环引用,显示公式)(2000/12/13)29. 运行模式(执行单元格内的公式,显示计算结果)(
Grid++Report是一款C/S与B/S集成报表工具,功能全面易学易用。C/S开发适用于VB.NET,C#,VB,VC,Delphi,BCB,VFP,易语言等。B/S开发适用于ASP.NET,ASP,PHP,JSP等,支持所有WEB服务器。 Grid++Report6.0版主要新增功能 ★引擎方面 1、增加了一个自由表格部件,可以灵活定义各种自由表格,具有单元格合并功能。 2、部件框增加边距设置,边框增加内层与阴影,虚线边框。 3、文字显示增加段间距、首字缩进与两端分散对齐。 4、分组报表可以按某个统计值的大小对分组项进行排序 5、数据源除了OLE DB外,增加XML、JSON与普通文本数据。 6、在编程接口增加了很多应用函数,如数据压缩、数字格式化、日期时间解析与格式化、打印机与纸型枚举、文件选择对话框等。 7、其它杂项功能,根据多年收集的用户需求来增加与改进功能,如分组相关系统变量、图像旋转显示等。 ★设计器: 1、设计面板具有缩放设计功能。 2、将关联属性归类为组,方便在设计时集设置与查看。 3、对象浏览窗口与属性窗口可以隐藏,方便在设计很宽的报表时增大设计面板的区域。 4、设计面板大小跟随明细网格总列宽来改变宽度,方便设计大宽度明细网格报表。 5、部件框锁定功能,被锁定的部件框不允许进行可视化拖放。 6、自动在分组头尾增加统计框,默认为合计函数,并设置相应的对齐列。 7、数据源连接串可以为 XML 或 JSON 数据源,且可以自动生成字段。设计报表时数据源可连接的类型有:各种数据库、XML或JSON文件、产生XML或JSON的网络URL、EXCEL文件、TEXT文件。 8、设计器增加数据提供事件接口,在设计报表时可以用给报表加载自定义数据源。 ★打印与打印预览: 1、横向分页时,在数据不多的情况下,分页直接显示在本页,而不是在下一页。 2、在模板可以保存默认打印机名称。 3、分组尾支持每页重复打印。 4、如果部件框跨页多次显示了,在新页再次输出其上下边框。 5、提供编程接口枚举出Windows系统安装的打印机,以及指定打印机支持的所有纸张类型。 ★查询显示: 1、没有明细网格的报表,背景图可以显示出来。 2、明细数据不多时,表格不会显示下部空白。 ★数据导出: 1、在导出Excel时,能用代码设置页边距等参数 2、在运行时对外观属性的改变可以反映到Excel导出。 ★图表: 1、重新设计图表接口,让图表可视化设计与编程控制更清晰简单。 2、支持更多图表类型,如百分比柱状图、垂直排列的柱图。 3、一个图表可以混和显示多种不同类型的图形,如一个序列为柱图,另一个序列为曲线图。 4、Y轴可以显示双坐标轴,方便实现双轴柱状图等。 5、图例可以在下方显示,可以多栏显示。 6、增加图表数据记录集,图表数据直接从记录集或XML数据源加载,而不需用代码来加载图表数据。 7、图表方面还有很多细节方面的改进与增强,加强图表功能是本新版本的重要方面。 ★交叉表 1、多数据列交叉表可以将同一列产生的交叉列排列在一起。 2、在合计列可以排除掉一些列不进行合计。 3、纵向交叉项目列可以定义统计框或综合文字框表达式,在合计列关联的字段自动求和,在项目列关联字段为复制首笔值。 ★子报表: 1、子报表无数据可以自动隐藏。
Grid++Report 报表控件适用于VB.NET、C#、VB、VC、Delphi、C++Builder、Foxpro(VFP)、易语言等一切支持 COM 的开发工具。除了提供报表的统计分析、打印、打印预览、数据导出等功能,还提供独有的报表查询显示功能,让报表查询显示、打印、打印预览及数据导出等功能集成一体化实现。轻松实现通用报表、表格报表、动态报表、多层表头、票据与发票套打、交叉表、表表及各种特殊报表等。提供详尽帮助文档与各种编程平台下的丰富例子,安装包括可直接运行例子程序,安装后即刻体验此报表工具。包括简体文版、繁体文版与英文版。经过数年的发展,已经被国内多家有影响力的通用软件厂商采用,其用户遍布各行各业,已经成为用户受众面最广的国产报表开发工具。Grid++Report 报表组件具有如下特点:1、适用范围广:VB.NET、C#、VB、VC、Delphi、C++Builder、VFP、易语言等一切支持 COM 的开发工具。2、功能强大:实现普通格式报表、表格报表、多层表头、票据套打、交叉表等各种报表非常简便;报表完全可编程定义,非常适合开发通用软件的动态报表。3、独有的报表查询显示功能:除了提供报表的打印、打印预览、数据导出等功能,还提供独有的报表查询显示功能,既提供报表查询与输出的集成一次性实现,又能保证数据的一致性与完整性。4、特有的分组单元格合并功能,轻松实现常见的国式报表分组在列展现并垂直居。5、提供图表功能,在报表直接实现图表功能。包括:饼图、叠加饼图、柱状图,连线图、散列点图等。6、报表数据导出格式丰富,格式包括:Excel、PDF、图像、HTML、文本,CSV 等。7、提供脚本编程功能,直接在报表模板自定义报表行为,采用通用的 VBScript 与 JScript 脚本引擎。8、支持参数化报表查询SQL语句,轻松实现动态过滤条件筛选报表数据。9、报表查询显示时提供报表内容文字查找功能。10、全文界面,针对国报表进行了很多专门实现,如:报表表格线、财务金额线、大写金额、发票打印圆圈画叉图标、负数红字显示、多层表头等。很多在国外报表控件很难实现的功能在本报表控件可以轻易实现。11、组件提供丰富交互事件,轻松实现报表穿透(透视)查询和报表交互。12、重新发布简单:只需分发两个 DLL 文件。13、易学易用:完全可视化设计,完善的复制/剪切/粘贴(Copy/Cut/Paste)和恢复重做(Undo/Redo)功能,专业的拖放操作与即时编辑功能。14、编写了完整详尽的帮助文档。提供了丰富例程,包括VB.NET、C#、VB、VC、Delphi、C++Builder、VFP、文编程易语言。15、为 Delphi、C++Builder 编写专门的包装类,象使用 VCL 控件一样使用 Grid++Report。16、支持所有常规条形码,打印条形码精度高易读取。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧