原标题:不为人知的Excel转压缩包逆天功能
图/文:安伟星
星爷要是给你一个压缩文件,然后说这是一个Excel文件,你会怎么想?
Excel文件确实可以通过压缩软件打包进压缩包中,但是把Excel自身变成压缩文件,多数人应该还没有听说过。
— 01 —Excel与压缩包迷之关系
其实,Office三姐妹在2007(或以上版本)中采用的后缀分别是xlsx、docx、pptx。
这些格式相比旧版本都多了个X,它们本质上是一个压缩包,这样的好处是存储相同容量的信息将占用较小的空间。
具体到Excel,构成Excel的所有源码文件都在这个压缩包中,因此通过将其后缀更改为.zip或.rar即可提取构成Excel的核心源码文件。
是不是感觉发现了微软的小秘密。
我们将Excel修改后缀为zip,解压出内部文件,看看都有什么?3个文件夹1个xml文件。这里面是什么鬼东西,能怎么玩?让我们一步步扒光它……
小结Excel变成压缩包的原理图。
— 02 —批量导出Excel中的图片
如果我们的Excel工作表中有很多图片,比如做的员工通讯录,里面含有每一个员工的头像照片,需要将他们批量导入了,一个一个另存为速度就太慢了。
将其转化为压缩包,然后解压,你会赫然发现,所有图片已经静静地在那里等你。
Excel等信息存放在解压后的xl文件夹中的media文件夹里,如图是获取Excel中所有图片的步骤。
— 03 —破解工作表加密
如图第二张表「销售记录」是使用密码保护的工作表。可是自己设置的密码却忘记了,该怎么办?
这就叫做搬起石头砸自己的脚吧。
①首先修改Excel的后缀名为「.zip」或者「.rar」,是压缩文件的格式就行。
注意:Excel会提示你修改后缀名之后会导致文件不可用,不要理它,点击「是」。
②用压缩软件打开刚才创建的压缩包,从压缩包中\xl\worksheets\路径下找到加密的工作表。
因为我们只有sheet2为加密工作表,所以打开这个工作表即可。
通常,为了防止乱搞,把原始Excel文件搞乱,我建议大家把此文件复制到桌面之后再进行下一步操作。
③假设你已经将压缩包中的Sheet2复制到桌面了,那么用【记事本】打开它,【Ctrl】+【F】,输入“pro”查找找到加密代码,找到之后将<>中的那一坨连同<>符号一起删掉,然后保存。
<sheetProtection algorithmName="SHA-512" hashValue="0botjAbUl3c8nnRthv/9xqEJw1FA6ErQJGpCGWzty5mQjyr89b11v9ffpnHIJOm3mk9Rv3YgnF10xQ3FEjTbvQ==" saltValue="5wf6E/o5M+RHJTelz8A5hg==" spinCount="100000" sheet="1" objects="1" scenarios="1"/>
④将桌面的上已经删除密码保护的sheet2直接拖到压缩的文件的\xl\worksheets\路径下,替换到原来的sheet2。
⑤把zip文件改回.xlsx文件,然后大摇大摆去修改工作表吧,因为excel工作表保护密码消失了。
— 04 —批量修改工作表名称
一个工作簿中存放了一整年的销售记录表,有一个汇总表以及1-12月的销售明细。
现在想把工作表名称中“2008年”字样统一改为“2010年”,同样使用压缩文件的方式可以快速搞定。
①将Excel文件的扩展名修改为.zip
②双击zip压缩包→xl文件夹,找到workbook.xml文件,并将workbook.xml复制到桌面(注意不要解压压缩文件)。
③以记事本的方式打开桌面上的workbook.xml文件,单击菜单命令“编辑”→“替代”,在弹出的“替换”对话框中,“查找内容”文本框输入:2008年,“替换为”文本框输入:2010年,单击“全部替换“按钮,关闭”替换“对话框;
④保存文件,并将其粘贴回压缩文件夹中,会提示“此位置已包含同名文件”,点击复制与替换。
⑤将zip文件扩展名再改回原来的.xlsx,然后打开此Excel文件,发现所有的工作表名称都已经改变了。
— 05 —批量修改批注
通过摸索,星爷发现,Excel转化成压缩包之后,其中xl文件夹是放置Excel中各种元素的地方,比如Excel中插入了图片,在xl文件夹中就会生成一个media文件夹;在Excel单元格中插入了批注,xl文件夹中就会生成一个comments1.xml文件,用来存放批注。
因此,在Excel文件中难以批量操作的“批注”,就可以利用压缩包方法解决。比如批量修改批注。
双击zip压缩文件,双击打开 xl 文件夹,找到名为comments1.xml的文件,将其复制到桌面。
右键单击comments1.xml文件,在右键菜单中依次单击【打开方式】——【记事本】。
在记事本中打开后,所有Excel中批注的内容都在这个文件中了,在这里我们可以方便的使用查找替换进行批量性该,比如:删掉所有批注中的“学费”两字。
如图可以采用替换的方式,将学费替换为空值。
完成之后保存comments1.xml文件,并将其粘贴回压缩文件包中。
最后zip文件扩展名再改回原来的.xlsx,然后打开此Excel文件,工作表中所有地方的批注都进行了相应的改变。
知道了这个原理之后,我们应该还能解锁更多的玩法,等着你去发现。
·The End·
作者:安伟星,微软Office认证大师,领英中国专栏作者,《玩转职场Excel》图书作者,原创公众号:精进Excel(ID:SeniorExcel)
来源:微信公众号 精进excel
|