diff --git a/components/fpspreadsheet/xlsxooxml.pas b/components/fpspreadsheet/xlsxooxml.pas index 0bae7e836..3004fce66 100755 --- a/components/fpspreadsheet/xlsxooxml.pas +++ b/components/fpspreadsheet/xlsxooxml.pas @@ -3372,7 +3372,7 @@ begin ext := ExtractFileExt(FWorkbook.GetEmbeddedStream(img.Index).Name); AppendToStream(FSDrawingsRels[FCurSheetNum], Format( ' ' + LineEnding, [ - img.Index+1, SCHEMAS_IMAGE, img.Index+1, ext + i+1, SCHEMAS_IMAGE, img.Index+1, ext ])); end; @@ -3961,7 +3961,7 @@ end; procedure TsSpreadOOXMLWriter.WriteContentTypes; var - i: Integer; + i,j: Integer; imgext: TStringList; ext: String; sheet: TsWorksheet; @@ -3982,16 +3982,17 @@ begin begin imgExt := TStringList.Create; try - imgExt.Duplicates := dupIgnore; for i:=0 to Workbook.GetEmbeddedStreamCount-1 do begin ext := ExtractFileExt(Workbook.GetEmbeddedStream(i).Name); if ext[1] = '.' then Delete(ext, 1, 1); - imgExt.Add(ext); + j := imgExt.IndexOf(ext); + if j = -1 then + imgExt.Add(ext); end; for i := 0 to imgExt.Count-1 do AppendToStream(FSContentTypes, Format( - '' + LineEnding, [ext, ext])); + '' + LineEnding, [imgExt[i], imgExt[i]])); finally imgExt.Free; end;