You've already forked lazarus-ccr
fpspreadsheet: Support merged cells in Excel 2003/xml reader.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7033 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -409,6 +409,7 @@ var
|
|||||||
cell: PCell;
|
cell: PCell;
|
||||||
fmt: TsCellFormat;
|
fmt: TsCellFormat;
|
||||||
idx: Integer;
|
idx: Integer;
|
||||||
|
mergedCols, mergedRows: Integer;
|
||||||
begin
|
begin
|
||||||
if ANode = nil then
|
if ANode = nil then
|
||||||
exit;
|
exit;
|
||||||
@ -427,6 +428,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// Merged cells
|
||||||
|
s := GetAttrValue(ANode, 'ss:MergeAcross');
|
||||||
|
if not ((s <> '') and TryStrToInt(s, mergedCols)) then mergedCols := 0;
|
||||||
|
s := GetAttrValue(ANode, 'ss:MergeDown');
|
||||||
|
if not ((s <> '') and TryStrToint(s, mergedRows)) then mergedRows := 0;
|
||||||
|
if (mergedCols > 0) or (mergedRows > 0) then
|
||||||
|
sheet.MergeCells(ARow, ACol, ARow + mergedRows, ACol + mergedCols);
|
||||||
|
|
||||||
node := ANode.FirstChild;
|
node := ANode.FirstChild;
|
||||||
if node = nil then
|
if node = nil then
|
||||||
sheet.WriteBlank(cell)
|
sheet.WriteBlank(cell)
|
||||||
|
Reference in New Issue
Block a user