73 votes

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

OK, c'est une question bizarre. Je prends ma feuille blanche de chiffres :

Blank sheet imported from blank CSV

...et l'exporter vers Excel :

enter image description here

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

enter image description here

En creusant un peu plus :

enter image description here

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

enter image description here

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

40voto

Lukas Klein Points 474

Je ne sais pas pourquoi il est inclus dans l'exportation, mais c'est l'un des "remplissages d'image" par défaut : Image Fill

2 votes

Heureusement, il semble qu'il soit possible de supprimer cette image sans corrompre le fichier xlsx en utilisant zip -d myFile.xlsx xl/media/image1.png

35voto

SheetJS Points 449

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

XLSX, DOCX et d'autres formats utilisent OPC (open packaging conventions), qui impose le conteneur zip et décrit comment les fichiers doivent être disposés. Si vous ne reconnaissez pas un fichier, consultez les différents fichiers de relation (ils se terminent par .rels).

Dans ce cas, la ligne pertinente se trouve dans le fichier de relation 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.xml comme rId1 . En utilisant l'ECMA-376 comme guide, vous trouverez qu'il est référencé comme le 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.

30voto

gcp Points 319

Les fichiers Keynote exportés vers PowerPoint font aussi ce genre de choses. Ce PNG est un remplissage d'arrière-plan de Keynote, et il est mis à la disposition de PowerPoint pour être utilisé comme remplissage de forme par défaut pour les formes créées dans le document exporté. Keynote exporte non seulement votre document, mais aussi les éléments de style du modèle avec lequel il a été créé, même si certains de ces éléments de style (par exemple l'image d'arrière-plan) n'ont pas encore été utilisés.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X