TMS FlexCel 取消合并单元格
属性和方法
TXlsFile.UnMergeCells
procedure UnMergeCells(const firstRow: Integer; const firstCol: Integer; const lastRow: Integer; const lastCol: Integer);
取消合并单元格范围。 坐标必须准确,如果没有具有准确坐标的合并单元格,则不会执行任何操作。 如果要取消合并范围内的所有单元格,请改用 TExcelFile.UnMergeAllCellsInRange
。
参数
firstRow 合并单元格的第一行。
firstCol 合并单元格的第一列。
lastRow 合并单元格的最后一行。
lastCol 合并单元格的最后一列。
TXlsFile.UnMergeAllCellsInRange
procedure UnMergeAllCellsInRange(const firstRow: Integer; const firstCol: Integer; const lastRow: Integer; const lastCol: Integer; const fullyInside: Boolean);
此方法将取消合并单元格范围内的所有单元格。
参数
firstRow 范围的第一行。
firstCol 范围的第一列。
lastRow 范围的最后一行。
lastCol 范围的最后一列。
fullyInside 如果为 true,则合并的单元格必须完全在要取消合并的范围内。例如,如果文件有一个合并的单元格 A1:A5,并且调用 UnMergeAllCellsInRange(1, 1, 1, 1, true)
A1:A5 将不会被取消合并,因为它并不完全在范围内。 如果为 false,则将取消合并范围内至少有一个单元格的所有合并单元格。 在合并单元格 A1:A5 的示例中,UnMergeAllCellsInRange(1, 1, 1, 1, false)
将取消合并的单元格,因为它的单元格 A1 包含在范围内。
TXlsFile.CellMergedListCount
property CellMergedListCount: Integer
合并单元格列表中合并单元格的数量。
TXlsFile.CellMergedList
function CellMergedList(const index: Integer): TXlsCellRange
合并单元格列表中位置索引处的合并单元格。
参数
index 列表中的索引( 索引从1开始)。
返回值
位置索引处的合并单元格。
例子
取消合并单元格
uses VCL.FlexCel.Core, FlexCel.XlsAdapter;
procedure TForm1.Button27Click(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;
//合并A1:B1
Xls.MergeCells(1, 1, 1, 2);
//合并B2:C2
Xls.MergeCells(2, 2, 2, 3);
//合并A3:C4
Xls.MergeCells(3, 1, 4, 3);
//保存合并后文件
Xls.Save('C:\Users\Administrator\Desktop\ceshi1.xlsx');
//循环所有合并单元格
for I := 1 to Xls.CellMergedListCount do
begin
vRange := Xls.CellMergedList(I);
Memo1.Lines.Add('合并范围 ' + vRange.CellRef);
Memo1.Lines.Add('单元格[' + vRange.Top.ToString + ',' + vRange.Left.ToString + '] 到' +
' 单元格[' + vRange.Bottom.ToString + ',' + vRange.Right.ToString + ']');
end;
//取消单个合并单元格A1:B1
Xls.UnMergeCells(1, 1, 1, 2);
//取消A2:C4范围内的所有合并单元格B2:C2和A3:C4
Xls.UnMergeAllCellsInRange(2, 1, 4, 3, True);
//取消C2:C3中包含在合并单元格范围内的合并单元格B2:C2和A3:C4
Xls.UnMergeAllCellsInRange(2, 1, 4, 3, False);
//保存取消合并后文件
Xls.Save('C:\Users\Administrator\Desktop\ceshi2.xlsx');
finally
Xls.Free;
end;
end;
标签:TMS,const,FlexCel,delphi,单元格,合并,取消,Integer,Xls
From: https://www.cnblogs.com/txgh/p/16905514.html