请问,excel合并单元格,如何在delphi中完成。
例如,a1:b1进行合并。
我知道用range先取范围,然后在merge。但是我应该怎样在delphi中书写呢??
请各位大侠帮帮人兄,在下感激不禁。立即给分

解决方案 »

  1.   

    var qzw,qzw1,QZW2: Variant;
    qzw:=excelworksheet2.rows;
    QZW1:=excelworksheet2.Range['A1','e1'];
    QZW1.MERGE;
    qzw1:=excelworksheet2.Range['A2','a10'];
    qzw1.Merge;
    qzw1:=excelworksheet2.Range['A2','a1'];
      

  2.   

    用EXCEL中的宏把合并单元格的动作录下来,研究一下VBA的代码就行了。
      

  3.   

    Sheet对象是很多页面的集合,其他的WorkBooks是工作簿的集合,WorkBooks对象是工作表的集合,Charts对象是图表的集合。    //Excel文档格式设置
    procedrue TForm1.Button1Click(Sender:TObject);
    var  Range:Variant;
         v:Variant;
    begin  
    if OpenDialog1.Execute then  
    begin    
    try      
    v:=CreateOleObject('Excel.Application');      
    v.Visible:=CheckBox1.Checked;      
    v.WorkBooks.OpenDialog1.FileName);      
    Range :=v.WorkBooks[1].WorkBooks[1].Range['A2:G2'];//单元格从A2到G2      Range.Merge;//合并单元格      
    Range.Rows.RowHeight :=50;//设置行高;      
    Range.Borders.LineStyle:=1;//加边框      
    Range.Columns[2].ColumnWidth:=12;//设置列宽      
    Range.FormulaR1C1:='合并区';
    end;
      

  4.   

    procedrue TForm1.Button5Click(Sender:TObject);
    var
     v,Range:Variant;
    begin
      if OpenDialog1.Execute then
      begin
        try
          v:=CreateOleObject('Excel.Application');
          v.Visible:=true;
          v.WorkBooks.open(ExtractFilePath(application.ExeName)+'EXCEL.xls',0);
          Range :=v.WorkBooks[1].WorkBooks[1].Range['A1:b1'];//单元格从A1到b1
          Range.Merge;//合并单元格
          Range.HorizontalAlignment:=3;//xlCenter(水平对齐方式)
          Range.VerticalAlignment:=2;//xlCenter(垂直对齐方式)
          Range.Characters.Font.Name:='宋体';//字体
          Range.Characters.Font.Size:=15;
          Range.Characters.Font.OutlineFont:=False;//是否有下划线
          Range.Characters.Font.ColorIndex:=0;//xlAutomatic;颜色
        except//错误处理
        ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
        v.DisplayAlerts:=false;//是否提示存盘
        v.Quit;//退出Excel
      end;
    end;