登录
首页 >  Golang >  Go问答

使用 NewTealegXLSXParser 读取字节数组格式的 Excel 文件时出现数组越界错误

来源:stackoverflow

时间:2024-04-26 16:54:31 245浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《使用 NewTealegXLSXParser 读取字节数组格式的 Excel 文件时出现数组越界错误》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

我正在尝试使用 go 中的 xlsx 包中的方法解析 []byte 格式的 xlsx 文件,即 github.com/tealeg/xlsx。但是,我收到此错误 index out of range [134] with length 0

当我读取包含空白单元格的 Excel 文件时,就会发生这种情况。只有填充这些单元格才能解决问题,但这最终会成为一个乏味的过程。有没有办法绕过这些特定的单元格,以便我们仍然可以读取其他非空单元格?

这是我现在正在使用的方法:xlsx.OpenBinary(b []byte)

开放二进制方法不起作用,即在读取 notes 列时抛出错误,如下所示,空单元格标记为红色:-

如果单元格已填充,则成功读取文件:-

是否有其他库可以用来解析二进制格式的 Excel 文件,而不必担心上述问题?谢谢。

更新#1:- 现在,我查看了https://pkg.go.dev/github.com/tealeg/xlsx/v3#FileOption,但看起来尚未设置。 (也许我必须更新我的代码库中的 go repo。如果我错了,请纠正我)

更新#2:- 看起来我可以使用 https://pkg.go.dev/github.com/tealeg/xlsx/v3#ValueOnly 来绕过空单元格。再次,请让我知道我是否正确。谢谢


正确答案


找到答案:

看起来我必须将 tealeg/xlsx 解析器更新到最新版本,即 3.2.4,然后使用 ValueOnly 选项才能绕过列中的空值。

之前的版本,即 1.0.5 没有这些功能。完成后,我所要做的就是调用当前行和当前单元格函数来解决我的问题

今天关于《使用 NewTealegXLSXParser 读取字节数组格式的 Excel 文件时出现数组越界错误》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>