You've already forked lazarus-ccr
fpspreadsheet: Fix meta data reading error of some ods files. Avoid display of metadata zero dates in Excel.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7583 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -3185,7 +3185,8 @@ begin
|
|||||||
// Strip milliseconds?
|
// Strip milliseconds?
|
||||||
p := Pos('.', s);
|
p := Pos('.', s);
|
||||||
if (p > 1) then begin
|
if (p > 1) then begin
|
||||||
ms := StrToFloat('0' + Copy(s, p, MaxInt), fs);
|
ms := StrToFloat('0' + Copy(s, p, MaxInt), fs) / SecsPerDay;
|
||||||
|
s := copy(s, 1, p-1);
|
||||||
end else
|
end else
|
||||||
ms := 0;
|
ms := 0;
|
||||||
Result := StrToDateTime(s, fs) + ms;
|
Result := StrToDateTime(s, fs) + ms;
|
||||||
|
@ -6144,12 +6144,12 @@ begin
|
|||||||
'<dc:description>%s</dc:description>', [s]));
|
'<dc:description>%s</dc:description>', [s]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if book.MetaData.LastModifiedBy = '' then
|
if book.MetaData.LastModifiedBy <> '' then
|
||||||
s := book.MetaData.CreatedBy
|
begin
|
||||||
else
|
|
||||||
s := book.MetaData.LastModifiedBy;
|
s := book.MetaData.LastModifiedBy;
|
||||||
AppendToStream(AStream, Format(
|
AppendToStream(AStream, Format(
|
||||||
'<cp:lastModifiedBy>%s</cp:lastModifiedBy>', [s])); // to do: check xml entities
|
'<cp:lastModifiedBy>%s</cp:lastModifiedBy>', [s])); // to do: check xml entities
|
||||||
|
end;
|
||||||
|
|
||||||
if book.MetaData.DateCreated > 0 then
|
if book.MetaData.DateCreated > 0 then
|
||||||
begin
|
begin
|
||||||
@ -6159,13 +6159,13 @@ begin
|
|||||||
'<dcterms:created xsi:type="dcterms:W3CDTF">%s</dcterms:created>', [s]));
|
'<dcterms:created xsi:type="dcterms:W3CDTF">%s</dcterms:created>', [s]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if book.MetaData.DateLastModified <= 0 then
|
if book.MetaData.DateLastModified >0 then
|
||||||
dt := book.MetaData.DateCreated + GetLocalTimeOffset / MinsPerDay
|
begin
|
||||||
else
|
|
||||||
dt := book.MetaData.DateLastModified + GetLocalTimeOffset / MinsPerDay;
|
dt := book.MetaData.DateLastModified + GetLocalTimeOffset / MinsPerDay;
|
||||||
s := FormatDateTime(ISO8601FormatExtendedUTC, dt);
|
s := FormatDateTime(ISO8601FormatExtendedUTC, dt);
|
||||||
AppendToStream(AStream, Format(
|
AppendToStream(AStream, Format(
|
||||||
'<dcterms:modified xsi:type="dcterms:W3CDTF">%s</dcterms:modified>', [s]));
|
'<dcterms:modified xsi:type="dcterms:W3CDTF">%s</dcterms:modified>', [s]));
|
||||||
|
end;
|
||||||
|
|
||||||
AppendToStream(AStream,
|
AppendToStream(AStream,
|
||||||
'</cp:coreProperties>');
|
'</cp:coreProperties>');
|
||||||
|
Reference in New Issue
Block a user