Golang excel文件阅读

我正在使用tealeg xlsx库来读取一个excel文件https://github.com/tealeg/xlsx 。 他们在这里有文档https://godoc.org/github.com/tealeg/ 。 如果我通过本地目录调用OpenFile() ,但是我想使用一个types为multipart.Formhttp.Request.FormFile()返回对象,那么它工作得很好。 如何使用这个文件被tealeg包读取?

Tealeg的OpenReaderAt()看起来像我应该使用的东西,但多部分。 从http.Request.FormFile()返回的表单对象返回一个文件接口,但我不知道如何访问readerAt对象? https://golang.org/pkg/mime/multipart/#File

func OpenReaderAt(r io.ReaderAt, size int64) (*File, error)

xlsx.OpenReaderAt接受一个io.ReaderAt接口, multipart.File也实现了io.ReaderAt

所以你可以直接把它传递给xlsx.OpenReaderAt

 var ( file multipart.File size int64 err error ) file, _,err = req.FormFile("key") // size = // Calculate size xlsx.OpenReaderAt(file,size)