Mengapa Numbers menyembunyikan file PNG besar di lembar Excel yang diekspor?

73

OK, ini aneh. Saya mengambil lembar Nomor kosong saya:

Lembar kosong diimpor dari CSV kosong

... dan ekspor ke Excel:

masukkan deskripsi gambar di sini

Wah, sepertinya agak besar. Mari kita ganti nama dokumen Excel ke .zip dan lihat di dalamnya:

masukkan deskripsi gambar di sini

Menggali lebih dalam:

masukkan deskripsi gambar di sini

Ya, kami baru menemukan 99% dari ukuran file. Tapi apa itu - semacam gambar pratinjau tertanam? Mari kita buka:

masukkan deskripsi gambar di sini

Tidak, hanya 635x635 PNG noise acak. Adakah yang tahu apa yang terjadi di sini?

Nimesh Neema
sumber

Jawaban:

41

Saya tidak yakin mengapa itu termasuk dalam ekspor, tetapi ini adalah salah satu dari "Isi Gambar" default: Isi Gambar

Lukas Klein
sumber
2
Untungnya, tampaknya mungkin untuk menghapus gambar ini tanpa merusak file xlsx menggunakanzip -d myFile.xlsx xl/media/image1.png
Bastien Jansen
35

tl; dr: itu isian bentuk default, benar-benar tidak perlu jika tidak ada bentuk.

XLSX, DOCX dan format lain menggunakan OPC (konvensi kemasan terbuka), yang mengamanatkan wadah zip dan menjelaskan bagaimana file harus ditata. Jika ada file yang tidak Anda kenali, lihat di berbagai file hubungan (berakhir dengan .rels).

Dalam kasus ini, baris yang relevan dapat ditemukan di file hubungan tema xl/theme/_rels/theme1.xml.rels:

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

File akan dirujuk xl/theme/theme1.xmlsebagai rId1. Menggunakan ECMA-376 sebagai panduan, Anda akan menemukan itu dirujuk sebagai bentuk default isi:

<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

Penulis tidak boleh menghilangkan gambar jika tidak ada bentuk.

SheetJS
sumber
31

File utama yang diekspor ke PowerPoint juga melakukan hal-hal seperti ini. PNG itu adalah isian latar belakang dari Keynote, dan tersedia untuk PowerPoint untuk digunakan sebagai isian bentuk default untuk bentuk yang dibuat dalam dokumen yang diekspor. Keynote tidak hanya mengekspor dokumen Anda, tetapi juga elemen gaya template yang dibuat dengan - bahkan jika beberapa elemen gaya tersebut (yaitu gambar latar belakang) belum digunakan.

gcp
sumber