diff --git a/components/fpspreadsheet/examples/excel8demo/excel8write.lpi b/components/fpspreadsheet/examples/excel8demo/excel8write.lpi index 6ab082e31..7584cc24f 100644 --- a/components/fpspreadsheet/examples/excel8demo/excel8write.lpi +++ b/components/fpspreadsheet/examples/excel8demo/excel8write.lpi @@ -1,11 +1,10 @@ - + - @@ -45,7 +44,7 @@ - + diff --git a/components/fpspreadsheet/examples/excel8demo/excel8write.lpr b/components/fpspreadsheet/examples/excel8demo/excel8write.lpr index bfd93554c..ca5b5348f 100644 --- a/components/fpspreadsheet/examples/excel8demo/excel8write.lpr +++ b/components/fpspreadsheet/examples/excel8demo/excel8write.lpr @@ -29,6 +29,8 @@ var i: Integer; lCell: PCell; number: Double; + lCol: TCol; + lRow: TRow; begin MyDir := ExtractFilePath(ParamStr(0)); @@ -138,6 +140,18 @@ begin MyWorksheet.WriteUTF8Text(37, 0, 'nfTimeInterval'); MyWorksheet.WriteDateTime(37, 1, number, nfTimeInterval); + // Set width of columns 1 and 5 + lCol.Width := 100; //mm + MyWorksheet.WriteColInfo(1, lCol); + lCol.Width := 50; + MyWorksheet.WriteColInfo(5, lCol); + + // Set height of rows 5 and 6 + lRow.Height := 10; // mm + MyWorksheet.WriteRowInfo(5, lRow); + lRow.Height := 5; + MyWorksheet.WriteRowInfo(6, lRow); + // Creates a new worksheet MyWorksheet := MyWorkbook.AddWorksheet(Str_Worksheet2); diff --git a/components/fpspreadsheet/examples/excel8demo/test.xls b/components/fpspreadsheet/examples/excel8demo/test.xls index 70ccde420..a9d03e207 100644 Binary files a/components/fpspreadsheet/examples/excel8demo/test.xls and b/components/fpspreadsheet/examples/excel8demo/test.xls differ diff --git a/components/fpspreadsheet/fpspreadsheet.pas b/components/fpspreadsheet/fpspreadsheet.pas index e17d71797..2e461cb39 100755 --- a/components/fpspreadsheet/fpspreadsheet.pas +++ b/components/fpspreadsheet/fpspreadsheet.pas @@ -1212,7 +1212,7 @@ begin Result := nil; LElement.Col := ACol; - AVLNode := FRows.Find(@LElement); + AVLNode := FCols.Find(@LElement); if Assigned(AVLNode) then result := PCol(AVLNode.Data); end; @@ -1249,26 +1249,26 @@ end; procedure TsWorksheet.RemoveAllRows; var - Node: TAVGLVLTreeNode; + Node: Pointer; i: Integer; begin - for i := 0 to FRows.Count-1 do + for i := FRows.Count-1 downto 0 do begin - Node:=FRows.Items[0]; - FreeMem(PRow(Node.Data)); + Node := FRows.Items[i]; + FreeMem(Node, SizeOf(TRow)); end; FRows.Clear; end; procedure TsWorksheet.RemoveAllCols; var - Node: TAVGLVLTreeNode; + Node: Pointer; i: Integer; begin - for i := 0 to FCols.Count-1 do + for i := FCols.Count-1 downto 0 do begin - Node:=FCols.Items[0]; - FreeMem(PCol(Node.Data)); + Node := FCols.Items[i]; + FreeMem(Node, SizeOf(TCol)); end; FCols.Clear; end; @@ -1278,7 +1278,6 @@ var AElement: PRow; begin AElement := GetRow(ARow); - AElement^.Height := AData.Height; end; @@ -1287,7 +1286,6 @@ var AElement: PCol; begin AElement := GetCol(ACol); - AElement^.Width := AData.Width; end;