200分请教:如何合并单元格(Cells)?

hanly2008 2004-07-14 01:45:58
我现在在用一个第三放控件测试,名字叫ExGrids,不知道大家有没有用过!?
功能和EXCEL差不多,就象是EXCEL的简化版!我现在想将某些单元格合并成一个,不知道如何处理!
所以我想问一下:如何用Delphi来控制EXCEL将Cells[0,0]到Cells[3,3]合并成一个单元格?

不胜感激,谢谢。分不够再加!
...全文
390 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinzhiw 2004-11-15
  • 打赏
  • 举报
回复
自己研究出来了
我就来接点分
liuzhiping 2004-11-15
  • 打赏
  • 举报
回复
研究出来了就告诉我呀,急!
hanly2008 2004-08-01
  • 打赏
  • 举报
回复
呵呵谢谢大家啦!
我自己研究出来了:)
pclogic 2004-07-16
  • 打赏
  • 举报
回复
学习
jeetliang 2004-07-16
  • 打赏
  • 举报
回复
楼主的意思是动态选择cell[0] ---cell[x]来进行合并,如果说控件本身不带些功能,另加
代码实现起比较难。
jakefj 2004-07-16
  • 打赏
  • 举报
回复
excelsheet1.cells['A1','B1'].Mergecells:=true;
為是合並A1,B1兩個單無格
xjb2001 2004-07-16
  • 打赏
  • 举报
回复
合并?什么意思?
你是不是要做成这种样子;


--------------------------------------------------|
| |
| 用户信息 |
|----------------------------------------------- |
| 用户ID | 用户姓名 |
| | |
------------------------------------------------- |



飞天揽月 2004-07-16
  • 打赏
  • 举报
回复
学习
gstang 2004-07-16
  • 打赏
  • 举报
回复
想合并stringgrid的单元格很难。
flexcell还可以但不支持delphi。

帮你UP一下
viaboy 2004-07-16
  • 打赏
  • 举报
回复
never used
help u up
Gongshl 2004-07-14
  • 打赏
  • 举报
回复
操作Excel时可以先录制宏代码,如:
Sub Macro1()
'
' Macro1 Macro
' Gongshl 记录的宏 2004-7-14
'
Range("A1:B1").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
End Sub

有了这些代码,就可以在Delphi中操作了Excel了,可能有些语句的格式稍有不同。其他所有的Excel操作都可以这样做。

录制宏的方法:
操作Excel前先点菜单:工具-->宏-->录制新宏,进行Excel操作,操作完成后,点停止录制,再打开你刚才录制的宏,就可以得到宏代码了。
aiirii 2004-07-14
  • 打赏
  • 举报
回复
MerCen('A4:J4');


var
xls: Variant;
const
xlCenter=-4108;

Procedure MerCen(ran:string);
Begin
xls.Range[ran].Select;
xls.Selection.HorizontalAlignment := xlCenter;
xls.Selection.VerticalAlignment := xlCenter;
xls.Selection.WrapText:= false;
xls.Selection.Orientation := 0;
xls.Selection.ShrinkToFit := False;
xls.Selection.MergeCells := False;
xls.Selection.Merge;
End;
hanly2008 2004-07-14
  • 打赏
  • 举报
回复
现在我知道了,如果要合并,首先要把得到一个Range,然后用Range.Merge方法实现。

我现在用的这个第三方控件ExGrid,他的ExGrid1.Selection就是一个TExProRange,我已经也可以用ExGrid1.Selection.Merge实现合并了。
但是我现在却没有办法用程序来控制ExGrid1的Selection区域,也就是说,我不知道如何用代码将某一些连续的Cells[nx,ny]设置成选择的状态!
大家有没有好的建议?也就是说,对Grids类的Cells对象,如何设置选择区域Selection?
firstshine 2004-07-14
  • 打赏
  • 举报
回复
瞧瞧我的,足以要包含ComObj

var
vWorkBook: Variant;//工作簿对象
vExcel: Variant;//Excel应用对象
begin
vExcel := CreateOleObject('Excel.Application' );
try
vExcel.Visible:=true;
vWorkBook:=vExcel.WorkBooks.Add;
try
vWorkBook.ActiveSheet.Range['A2:B2'].Merge;//在这里合并
finally
vWorkBook.Saved := True;
vWorkBook.Close;
vWorkBook:=Unassigned;
end;
finally
vExcel.Quit;
vExcel:=Unassigned;
end;
end;
luofs 2004-07-14
  • 打赏
  • 举报
回复
如果你用delphi合并EXCEL单元格的话,可以利用COMOBJ,然后在通过解读excel这些操作的宏得到在delphi中的执行命令。详细情况可以去大富翁查查
tsst 2004-07-14
  • 打赏
  • 举报
回复
合并,这很难做到的!建议用一用easyGrid,如果可以的话,更好不是!反正是第三方的!
gabrielnystrom 2004-07-14
  • 打赏
  • 举报
回复
uses ComOBj;

var
workbook,sheet,excelObj,excel: OleVariant;
begin
excelObj := CreateOleObject('excel.sheet');
excel := excelObj.Application;
workbook := excel.workbooks.open(filePath);//打开某个文件
sheet := workbook.sheets[1];
Excel.ActiveWindow.WindowState := -4137;

Sheet.Range['A1', 'C3'].Select;//选择范围
Excel.Selection.HorizontalAlignment := xlCenter;//水平和垂直居中
Excel.Selection.VerticalAlignment := xlCenter;
Excel.Selection.MergeCells := True;//合并单元格

excel.visible := true;
end;
江宁侯哥 2004-07-14
  • 打赏
  • 举报
回复
没用过,你可以去www。2ccc。com上去下载一个easyGrid控件吧
那个简单些,并且有操作说明
Vicky79 2004-07-14
  • 打赏
  • 举报
回复
没用过

5,392

社区成员

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

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