Pourquoi Numbers masque-t-il un énorme fichier PNG dans les feuilles Excel exportées?

73

OK, c'est bizarre. Je prends ma feuille de chiffres vierge:

Feuille vierge importée à partir de CSV vierge

... et exportez-le vers Excel:

entrez la description de l'image ici

Whoah, cela semble un peu gros. Renommons le document Excel en .zip et regardons à l'intérieur:

entrez la description de l'image ici

Creuser un peu plus loin:

entrez la description de l'image ici

Eh bien, nous venons de trouver 99% de la taille du fichier. Mais qu'est-ce que c'est - une sorte d'image d'aperçu intégrée? Ouvrons-le:

entrez la description de l'image ici

Non, juste un PNG 635x635 de bruit aléatoire. Quelqu'un a une idée de ce qui se passe ici?

Nimesh Neema
la source

Réponses:

41

Je ne sais pas pourquoi cela est inclus dans l'exportation, mais il s'agit de l'un des "remplissages d'image" par défaut: Remplissage d'image

Lukas Klein
la source
2
Heureusement, il semble qu'il soit possible de supprimer cette image sans corrompre le fichier xlsx aveczip -d myFile.xlsx xl/media/image1.png
Bastien Jansen le
35

tl; dr: c'est le remplissage de forme par défaut, strictement inutile s'il n'y a pas de forme.

Les formats XLSX, DOCX et autres utilisent OPC (conventions de conditionnement ouvertes), qui impose le conteneur zip et décrit la manière dont les fichiers doivent être agencés. S'il y a un fichier que vous ne reconnaissez pas, consultez les différents fichiers de relations (ils se terminent par .rels).

Dans ce cas, la ligne correspondante se trouve dans le fichier de relations des thèmes xl/theme/_rels/theme1.xml.rels:

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

Le fichier sera référencé dans xl/theme/theme1.xmlcomme rId1. En utilisant ECMA-376 comme guide, vous le trouverez référencé comme remplissage de forme par défaut:

<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

L'auteur ne doit pas omettre l'image s'il n'y a pas de forme.

FeuilleJS
la source
31

Les fichiers Keynote exportés vers PowerPoint ont également cette fonction. Ce fichier PNG est un remplissage d'arrière-plan de Keynote et est mis à la disposition de PowerPoint pour qu'il soit utilisé comme remplissage par défaut pour les formes créées dans le document exporté. Keynote exporte non seulement votre document, mais également les éléments de style de modèle avec lesquels il a été créé, même si certains de ces éléments de style (c'est-à-dire l'image d'arrière-plan) n'ont pas encore été utilisés.

gcp
la source