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ではどうやって行をとるんでしょうかね?

おしまい。

いいなと思ったら応援しよう!