一个超级隐蔽的坑:关于excel

来源:互联网 发布:智慧树网络课程app 编辑:程序博客网 时间:2024/06/08 04:29

第一步下载一个excel文件(在项目上的下载功能模块下载)


第二步用WPS打开


这个时候,excel文件会自动生成一个空行。


注意的是:如果保存,那么这个空行就会保存到该excel文件中!


重点是:对于下载的,没保存过的excel文件!!!


如果下载excel,先用office打开并保存,这个时候再用WPS打开保存并不会生成空行!(点击保存,无论有没修改)


机制是这样的:

对于一个新下载的excel文件,从来没有保存过的。

那么用WPS打开会自动生成一个新的空行,用office打开并不会。

并且用WPS打开并保存,那么会将这个空行保存到该excel。



比如:

下载一个excel文件 -> 用WPS打开 -> 这个时候会在底部自动追加一个空行 -> 保存(无论有没修改)-> 底部的这个空行会保存到该excel中

下载一个excel文件 -> 用office打开 -> 不会自动追加空行 -> 保存 -> 什么也没增加

下载一个excel文件 -> 用WPS打开 -> 这个时候会在底部自动追加一个空行 -> 保存(无论有没修改)-> 底部的这个空行会保存到该excel中 -> 接着用office打开该excel文件 -> 保存(无论有没修改)->底部的空行被过滤掉了!-> 再用WPS打开 -> 这时不会再自动追加空行!-> 保存 -> 什么也没增加




代码的处理:

我用的是phpexcel,在循环遍历行的时候,添加个判断(主要用于上传excel文件处理的时候)

if(empty(一个列的值) && empty(另一个列的值) && ......){     continue;//循环遍历行的时候跳过空行    //或者返回提示}