Closed wangchengtao closed 2 years ago
SKIP_EMPTY_ROW
是忽略未声明的单元格,但是很多情况下单元格是处于声明状态,只不过里面没有填充数据而已,所以需要借助 SKIP_EMPTY_VALUE
。
@viest 加上SKIP_EMPTY_VALUE
之后,空单元格会被忽略,导致本可以为空的数据被删掉。例如上文一行本应该有 8 列,但是现在只有 7列,
原始数据:
加上 SKIP_EMPTY_VALUE
之后,获取到的数据:
array:1 [
0 => array:7 [
0 => "2110101538088478"
1 => "0324016699"
2 => "商户_刘财"
3 => "2021-10-10 15:38:00.0"
5 => "630"
6 => "3.78"
7 => "乐刷"
]
]
期望数据:
array:1 [
0 => array:8 [
0 => "2110101538088478"
1 => "0324016699"
2 => "商户_刘财"
3 => "2021-10-10 15:38:00.0"
4 => ""
5 => "630"
6 => "3.78"
7 => "乐刷"
]
]
@wangchengtao 你注意看,数组下标并没有因为忽略而改变,和你单元格还是可以一一对应的。
@viest 如果这样的话,在提取数据的时候只能根据下标比对,不能使用 array_combine
函数,不太方便呢
这个方案也是之前设计的时候能想到的方案中比较好的一个了,你有比较好的想法吗?
我在设计的时候利用了坐标这个概念,可以通过坐标定位单元格,既然单元格可以很轻松定位了,那么与之对应的关系也就很容易关联上了。
你可以使用下标来关联表头,这是一个比较精确的方法。
@viest 目前没有想法 🤣 ,只能按这样子做了,谢谢你的回答。
环境
文件
交易订单模板-收付贝(1).xlsx
截图
代码
结果
各种尝试
加上 SKIP_EMPTY_VALUE
结果
结论