You've already forked lazarus-ccr
fpspreadsheet: Fix line breaks in header/footer lines for xls and xlsx.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4123 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -394,6 +394,9 @@ end;
|
||||
|
||||
procedure TsHeaderFooterParser.ScanNewLine;
|
||||
begin
|
||||
if FCurrText <> '' then
|
||||
AddCurrTextElement;
|
||||
|
||||
case FToken of
|
||||
#13: begin
|
||||
AddElement(hftNewLine);
|
||||
|
@ -2217,6 +2217,10 @@ begin
|
||||
'>': WrkStr:=WrkStr + '>';
|
||||
'"': WrkStr:=WrkStr + '"';
|
||||
'''':WrkStr:=WrkStr + ''';
|
||||
{
|
||||
#10: WrkStr := WrkStr + ' ';
|
||||
#13: WrkStr := WrkStr + ' ';
|
||||
}
|
||||
else
|
||||
WrkStr:=WrkStr + AText[Idx];
|
||||
end;
|
||||
|
@ -1192,6 +1192,12 @@ var
|
||||
node: TDOMNode;
|
||||
nodeName: String;
|
||||
s: String;
|
||||
|
||||
function FixLineEnding(AString: String): String;
|
||||
begin
|
||||
Result := StringReplace(AString, #10, LineEnding, [rfReplaceAll]);
|
||||
end;
|
||||
|
||||
begin
|
||||
if ANode = nil then
|
||||
exit;
|
||||
@ -1209,12 +1215,12 @@ begin
|
||||
begin
|
||||
nodeName := node.NodeName;
|
||||
case nodeName of
|
||||
'firstHeader': AWorksheet.PageLayout.Headers[0] := GetNodeValue(node);
|
||||
'oddHeader' : AWorksheet.PageLayout.Headers[1] := GetNodeValue(node);
|
||||
'evenHeader' : AWorksheet.PageLayout.Headers[2] := GetNodeValue(node);
|
||||
'firstFooter': AWorksheet.PageLayout.Footers[0] := GetNodeValue(node);
|
||||
'oddFooter' : AWorksheet.PageLayout.Footers[1] := GetNodeValue(node);
|
||||
'evenFooter' : AWorksheet.PageLayout.Footers[2] := GetNodeValue(node);
|
||||
'firstHeader': AWorksheet.PageLayout.Headers[0] := FixLineEnding(GetNodeValue(node));
|
||||
'oddHeader' : AWorksheet.PageLayout.Headers[1] := FixLineEnding(GetNodeValue(node));
|
||||
'evenHeader' : AWorksheet.PageLayout.Headers[2] := FixLineEnding(GetNodeValue(node));
|
||||
'firstFooter': AWorksheet.PageLayout.Footers[0] := FixLineEnding(GetNodeValue(node));
|
||||
'oddFooter' : AWorksheet.PageLayout.Footers[1] := FixLineEnding(GetNodeValue(node));
|
||||
'evenFooter' : AWorksheet.PageLayout.Footers[2] := FixLineEnding(GetNodeValue(node));
|
||||
end;
|
||||
node := node.NextSibling;
|
||||
end;
|
||||
|
Reference in New Issue
Block a user