我试图在golang中读取一个大的excel文件。我需要找到列数。
我正在使用https://godoc.org/github.com/360EntSecGroup-Skylar/excelize库但我找不到这样的功能。
在python中有https://xlrd.readthedocs.io/en/latest/api.html#xlrd.sheet.Sheet.ncols
Golang有类似的东西吗?
Excel没有固定数量的列。您想要的是在所有行中找到的最大列数。
这正是Sheet.ncols所做的。你可以通过调用excelize,迭代所有行,并在所有行中查找最高列数来获得与GetRows相同的结果。
Sheet.ncols
excelize
GetRows
看起来它们在库中具有完全符合您想要的功能,它只是不公开。见here。
我要提交PR,看看是否可以公开曝光。内存是一个问题的原因是,目前获取库中行/列总数的唯一方法是为每个单元格构建一个映射(请参阅GetRows)。