在golang中读取excel文件时出错

时间:2016-04-15 11:37:27

标签: excel go

我正在尝试下面的代码,但是我收到错误

  

“单值上下文中的多值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")
  }
  }
 }
}

2 个答案:

答案 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"?