首页 > 其他分享 >delphi TMS FlexCel 合并单元格

delphi TMS FlexCel 合并单元格

时间:2022-11-19 10:00:14浏览次数:57  
标签:TMS FlexCel delphi 单元格 合并 vRange ToString Integer Xls

TMS FlexCel 合并单元格

属性和方法

TXlsFile.MergeCells

procedure MergeCells(const firstRow: Integer; const firstCol: Integer; const lastRow: Integer; const lastCol: Integer);

将多个单元格合并为一个。

此方法可能返回比指定的范围更大的范围。 例如,如果您有一个合并单元格 (A1:C1),调用 MergeCells(1,2,2,2) 会将单元格与现有单元格合并,返回一个合并单元格 (A1:C2),而不是 (B1: B2)。

Excel 支持合并单元格内中的单个行样式。 也就是说,可以只让合并单元格的前两列有线条,而其他列没有。 通常,在合并单元格后,您需要在范围上调用 TExcelFile.SetCellFormat(Integer, Integer, Integer) 以使它们都相似。 FlexCel默认不会这样做,以便给您选择。

参数

firstRow 合并单元格的第一行。

firstCol 合并单元格的第一列。

lastRow 合并单元格的最后一行。

lastCol 合并单元格的最后一列。

TXlsFile.CellMergedBounds

function CellMergedBounds(const row: Integer; const col: Integer): TXlsCellRange

单元格所在的合并范围。

参数

row 行索引( 索引从1开始)

col 列索引( 索引从1开始)

返回值

单元格所在的范围

如果在A1:B2范围内有一个合并单元格,则在任何单元格:A1、B1、A2、B2上调用CellMergedBounds将返回A1:B2

例子

合并单元格

uses VCL.FlexCel.Core, FlexCel.XlsAdapter;

procedure TForm1.Button26Click(Sender: TObject);
var
  Xls: TXlsFile;
  I: Integer;
  vRange: TXlsCellRange;
begin
  //创建一个新的空Excel文件,使用Excel 2019格式
  Xls := TXlsFile.Create(1, TExcelFileFormat.v2019, true);
  try
    //添加内容
    for I := 1 to 5 do
    begin
      Xls.SetCellValue(I, 1, 'A' + I.ToString);
      Xls.SetCellValue(I, 2, 'B' + I.ToString);
      Xls.SetCellValue(I, 3, 'C' + I.ToString);
      Xls.SetCellValue(I, 4, 'D' + I.ToString);
    end;
    //合并B1:C2
    Xls.MergeCells(1, 2, 2, 3);
    //输出信息
    vRange := Xls.CellMergedBounds(1, 2);
    Memo1.Lines.Add('合并范围 ' + vRange.CellRef);
    Memo1.Lines.Add('单元格[' + vRange.Top.ToString + ',' + vRange.Left.ToString + ']' +
      ' 单元格[ ' + vRange.Bottom.ToString + ',' + vRange.Right.ToString + ']');
    //再合并A2:B2,B1:C2已经合并,得到A1:C2
    Xls.MergeCells(2, 1, 2, 2);
    //输出信息
    vRange := Xls.CellMergedBounds(1, 2);
    Memo1.Lines.Add('合并范围 ' + vRange.CellRef);
    Memo1.Lines.Add('单元格[' + vRange.Top.ToString + ',' + vRange.Left.ToString + '] 到' +
      ' 单元格[' + vRange.Bottom.ToString + ',' + vRange.Right.ToString + ']');
    //保存文件
    Xls.Save('C:\Users\Administrator\Desktop\ceshi.xlsx');
  finally
    Xls.Free;
  end;
end;

标签:TMS,FlexCel,delphi,单元格,合并,vRange,ToString,Integer,Xls
From: https://www.cnblogs.com/txgh/p/16905509.html

相关文章