寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

Excel文件内容很少,但文件很大,打开很慢怎么办?

最近工作总遇到个问题,Excel文件内容很少,但文件很大,打开很慢。之前也遇到过,参见《Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?》进行处理,但发现Excel文件内根本就没有隐藏的对象,按之前的教程无法处理。打开界面如下:

Excel打开很慢.jpg

经解压Excel文件,发现表里的xml文件有很多的重复元素,protectedRanges,如下图所示:

Excel解压后文件情况.jpg

这些主要是表的可编辑区域,我的Excel文档根本没设置允许编辑区域,猜测可能是操作时从其它具允许编辑区域的Excel文档复制粘贴过来造成的(后来发现应该是wps造成的,wps复制粘贴多次,可编辑区域生成很多,奇怪的是wps打开速度还能忍受,但微软Excel打开就巨卡)。

理论上把这些允许编辑区域进行删除就可以了。但由于微软Office Excel的允许编辑区域只能逐条删除,wps的也是只能逐条删除。于是通过解压Excel文件,再删除表xml中的protectedRanges元素,重新压缩为zip,再把zip扩展名改为xlsx,就可以搞定了。

为了方便,写个php程序进行删除,效果相当不错,处理结果截图如下:

Excel处理结果.jpg


PHP源码如下:

clear.7z


Office 2023-07-03 22:19:44 36 0 6780 offcieexcelphp
文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
VB.net开发的word转pdf的小工具
使用python把word转成pdf
文章推荐
免责声明
关于博主
开篇第一章
随机推荐
win10华硕fl5900u笔记本开机进入桌面后转圈卡死怎么办
excel无重复排序,如何提取排名前5的学生对应姓名
Windows xp升级至windows 7,xp+win7双系统只为QQ概念版
如何让电脑的多个声卡设备(蓝牙音响)同时输出声音
本站有自己的域名了
动易系统的数据库连接出错,请检查Conn.asp文件中的数据库参数设置解决方案。
discuz分区伪静态
MySQL如何根据父id递归查询所有子孙id
一个简单的php采集例子
利用宏从Word、Excel中提取Flash
友情连接
春燕网络
谢润的博客
企安文档