我正在尝试以下代码,但出现错误“单值上下文中的多值 cell.String()”代码 package mainimport ("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") } } }}
2 回答
慕容708150
TA贡献1831条经验 获得超4个赞
改变
for _, cell := range row.Cells {
fmt.Printf("%s ", cell.String(), "123")
}
到
for _, cell := range row.Cells {
val, _ := cell.String()
fmt.Printf("%s ", val)
}
德玛西亚99
TA贡献1770条经验 获得超3个赞
您正在尝试使用将多个值作为单个参数返回的函数 (to 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"?
- 2 回答
- 0 关注
- 383 浏览
添加回答
举报
0/150
提交
取消