Warum versteckt Numbers eine riesige PNG-Datei in exportierten Excel-Tabellen?

73

OK, das ist komisch. Ich nehme mein leeres Nummernblatt:

Leeres Blatt aus leerem CSV importiert

... und nach Excel exportieren:

Bildbeschreibung hier eingeben

Whoah, das scheint ein bisschen zu groß zu sein. Benennen wir das Excel-Dokument in .zip um und schauen uns das an:

Bildbeschreibung hier eingeben

Ein bisschen tiefer graben:

Bildbeschreibung hier eingeben

Nun, wir haben gerade 99% der Dateigröße gefunden. Aber was ist das - eine Art eingebettetes Vorschaubild? Lass es uns öffnen:

Bildbeschreibung hier eingeben

Nein, nur ein 635x635 PNG zufälliges Rauschen. Hat jemand eine Idee, was hier los ist?

Nimesh Neema
quelle

Antworten:

41

Ich bin mir nicht sicher, warum es im Export enthalten ist, aber dies ist eine der Standardeinstellungen für "Bildfüllungen": Bild füllen

Lukas Klein
quelle
2
Glücklicherweise scheint es möglich zu sein, dieses Bild zu löschen, ohne die xlsx-Datei mitzip -d myFile.xlsx xl/media/image1.png
Bastien Jansen
35

tl; dr: Dies ist die Standardformfüllung, die absolut nicht erforderlich ist, wenn keine Formen vorhanden sind.

XLSX, DOCX und andere Formate verwenden OPC (Open Packaging Conventions), das den Zip-Container vorschreibt und beschreibt, wie Dateien angeordnet werden sollen. Wenn Sie eine Datei nicht erkennen, sehen Sie in den verschiedenen Beziehungsdateien nach (diese enden mit .rels).

In diesem Fall finden Sie die entsprechende Zeile in der Themenbeziehungsdatei xl/theme/_rels/theme1.xml.rels:

  <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.png"/>

Die Datei wird verwiesen werden , xl/theme/theme1.xmlwie rId1. Wenn Sie ECMA-376 als Leitfaden verwenden, wird dies als Standardformfüllung bezeichnet:

<a:objectDefaults>                    <-- shape/line/text defaults
  <a:spDef>                           <-- shape defaults
    <a:spPr>                          <-- shape properties
      <a:blipFill rotWithShape="1">   <-- picture fill
        <a:blip r:embed="rId1"/>      <-- references the picture

Der Schreiber darf das Bild nicht auslassen, wenn es keine Form gibt.

SheetJS
quelle
31

Keynote-Dateien, die nach PowerPoint exportiert wurden, funktionieren auch so. Dieses PNG ist eine Hintergrundfüllung aus Keynote und wird PowerPoint zur Verfügung gestellt, um als Standardformfüllung für im exportierten Dokument erstellte Formen verwendet zu werden. Keynote exportiert nicht nur Ihr Dokument, sondern auch die Vorlagenstilelemente, mit denen es erstellt wurde - auch wenn einige dieser Stilelemente (dh das Hintergrundbild) noch nicht verwendet wurden.

gcp
quelle