为什么数字会在导出的Excel工作表中隐藏巨大的PNG文件?


73

好,这很奇怪。我拿空白的数字表:

从空白CSV导入的空白表

...并将其导出到Excel:

在此处输入图片说明

哇,似乎有点大。让我们将Excel文档重命名为.zip并进行内部查看:

在此处输入图片说明

深入挖掘:

在此处输入图片说明

好吧,我们只找到了文件大小的99%。但是,这是什么-某种嵌入式预览图像?让我们打开它:

在此处输入图片说明

不会,只有635x635 PNG的随机噪声。有人知道这是怎么回事吗?

Answers:



35

tl; dr:这是默认的形状填充,如果没有形状,则绝对不必要。

XLSX,DOCX和其他格式使用OPC(开放式包装约定),它规定了zip容器并描述了文件的布局方式。如果存在您无法识别的文件,请查看各种关系文件(它们以.rels结尾)。

在这种情况下,可以在主题关系文件中找到相关行xl/theme/_rels/theme1.xml.rels

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

该文件将在引用xl/theme/theme1.xml作为rId1。使用ECMA-376作为指南,您会发现它被称为默认形状填充:

<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

如果没有形状,书写者不得遗漏图像。


31

导出到PowerPoint的基调文件也可以做到这一点。该PNG是Keynote的背景填充,可用于PowerPoint,用作在导出的文档中创建的形状的默认形状填充。Keynote不仅可以导出您的文档,还可以导出创建文档时所使用的模板样式元素-即使尚未使用其中的某些样式元素(即背景图像)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.