我正在尝试下面的代码,但是我收到错误
“单值上下文中的多值cell.String()”
代码
package main
import (
"fmt"
"github.com/tealeg/xlsx"
)
func main() {
excelFileName := "test.xlsx"
xlFile, err := xlsx.OpenFile(excelFileName)
if err != nil {
}
for _, sheet := range xlFile.Sheets {
for _, row := range sheet.Rows {
for _, cell := range row.Cells {
fmt.Printf("%s ", cell.String(), "123")
}
fmt.Printf("\n")
}
}
}
}
答案 0 :(得分:3)
更改
for _, cell := range row.Cells {
fmt.Printf("%s ", cell.String(), "123")
}
到
for _, cell := range row.Cells {
val, _ := cell.String()
fmt.Printf("%s ", val)
}
答案 1 :(得分:0)
您正在尝试使用将多个值作为单个参数返回的函数(到fmt.Printf()
)
如果您认为自己没有任何错误,可以将其分配给_
并忽略它,但您确实应该准备好处理错误。这就是为什么Go会强制您使用变量以及为什么它不会自动丢弃其他返回值(例如来自cell.String()
的错误)
val, err := cell.String()
if err != nil {
// handle the error
}
fmt.Printf("%s ", val) // you had an extra arg of "123"?