Go tealeg/xlsxのSheetからRowsが消えてる件について
GoでExcelを扱うとなると、お世話になるのが
tealeg/xlsxかexcelizeでしょうか。
最近、tealeg/xlsxを初めて使う機会がありました。
xlsxFile, _ := xlsx.OpenFile(xlsxFilePath)
// 各シートに対して1行ずつ何かしらの処理をする
for _, sheet := range xlsxFile.Sheets {
for := _, row := range sheet.Rows {
fmt.Printf("%s", row.Cells[0].String())
}
}
Golandでコーディングしてステージングにアップして、
$ go get "github.com/tealeg/xlsx"
$ go run main.go
すると
sheet.Rows undefined (type *xlsx.Sheet has no field or method Rows)
Rowsがいないそうです。
tealeg/xlsxのgodocを見に行くとSheetのStructには、
確かにRowsはない。
どうやら私が見ていたgodoc(検索トップから飛んだページ)
はつい最近リリースされた、v3のものだったようで、
v1.0.5ととv2.0.1のtype Sheetを見に行くと、
こちらにはRowsがいました。
ステージングでgo getした際にv3が入っていたようです。
今回はローカルのGolandの中からtealeg/xlsxをコピして、
ことなきを得ました。
ちゃんと確認しなかったですが、
ローカルにはv2.0.1が入っていたんでしょうね。
我ながらレベルが低くて悲しくなりました。
とりあえずv3を使う予定はないですが、
v3ではどうやって行をとるんでしょうかね?
おしまい。