delphi控件excel单元格合并,运行没有错误,结果就是不能合并,究竟是为何?(15分)

  • 主题发起人 主题发起人 yyy_as
  • 开始时间 开始时间
Y

yyy_as

Unregistered / Unconfirmed
GUEST, unregistred user!
比赛
num coun bs result
115 中国 省运会 xxx
115 中国 亚运会 zzz
120 美国 Text3 Text4
120 美国 AAAAA 234
120 美国 笑嘻嘻 2
240 俄国 vvvv
122 英国 Text3 Text4
我想把A、B列num相同的记录合并为一行 (显示为一对多):
while eof=false do begin
ExcelWorkSheet1.Cells.Item[i,1].Value :=FieldByName('num').AsString; {给单元格赋值}
ExcelWorkSheet1.Cells.Item[i,2].Value :=FieldByName('coun').AsString;
ExcelWorkSheet1.Cells.Item[i,6].Value :=FieldByName('bs').AsString;
ExcelWorkSheet1.Cells.Item[i,7].Value :=FieldByName('result').AsString;
{画单元格边框}
with ExcelApp.Range['A' + inttostr(i), 'G' + inttostr(i)].Borders do begin
LineStyle := xlContinuous;
Weight := xlThin;
ColorIndex := xlAutomatic;
end;
{合并单元格}
ls1:= Trim(FieldByName('num').AsString);
If ll = 'aa' Then begin
ll:= '';
ExcelWorkSheet1.Range['A'+IntToStr(i-1),'A'+IntToStr(i)].Merge(true);
ExcelWorkSheet1.Range['B'+IntToStr(i-1),'B'+IntToStr(i)].Merge(true);
end Else m:= m + 1;
i:=i+1;
next;
If EOF = False Then begin {合并单元格标志}
ls2 := Trim(FieldByName('num').AsString);
If ls1 = ls2 Then ll:='aa';
end;
end;
 
为何无人答复?
 
怪事,横向就可以合并,纵向就不行。如下:
ExcelWorkSheet1.Range['A'+IntToStr(i),'B'+IntToStr(i)].Merge(true);
 
有哪位好心的大哥大姐帮忙看一下,我的纵向合并为何不成功?
 
为何没人理我?
 
急!急!!
 
ExcelWorkSheet1.Range['A10:B10'].Select;
ExcelApp.Selection.Merge;
 
如下代码,语法有错误:Merge没有定义。应如何写?
i:=ExcelWorkSheet1.Range['A22','B23'].Select;
ExcelApp.Selection.Merge;
 
我的问题还没有解决。谁能帮我看一下。
 
难道没人知道吗?
 
ExcelWorkSheet1.Range['A22','B23'].Merge;
或者
ExcelWorkSheet1.Range['A22','B23'].Merge(1);

就是合并单元格
 
我刚做完这个程序,相信我没错的
user
OleServer,Excel2000,ComObj;
Excel: Variant;
WBk, WS, SheetName: OleVariant;

try
Excel := GetActiveOleObject('Excel.Application');
except
MessageBox(form1.WindowHandle,'请先打开Excel的XLS文件.',myts,MB_OK+MB_ICONINFORMATION);
//Excel := CreateOleObject('Excel.Application');
exit;
end;
wbk:=Excel.ActiveWorkbook;
Excel.Application.Visible:= true;
WS:=Excel.Worksheets[1]

RG:=WS.Range[WS.Cells[3, 2],WS.Cells[9, 11]];//用数字行列号比较方便
RG.merge;//合并
 
我的问题是:
ExcelWorkSheet1.Range['A29','B29'].Merge(1); 结果:横向合并没问题;
ExcelWorkSheet1.Range['A29','A30'].Merge(1); 结果:纵向合并不成功但也没报错
ExcelWorkSheet1.Range['A29','B33'].Merge(1); 结果:横向合并,纵向没有合并
总之,横向合并可以,纵向合并不成功,是一样的语句呀!真是怪栽?
 
看看你原来的 cell 是不是 已经合并了?
 
还有你的EXCEL 有几个 sheet ?
 
后退
顶部