我正在使用tealeg xlsx库来读取excel文件https://github.com/tealeg/xlsx。他们在这里有文档https://godoc.org/github.com/tealeg/。如果我通过本地目录调用OpenFile()
,它可以正常工作,但我想使用类型为http.Request.FormFile()
的{{1}}返回对象。如何使用tealeg包读取此文件?
Tealeg的multipart.Form
看起来像我应该使用的东西,但是多部分。从OpenReaderAt()
返回的表单对象返回文件接口,但我不确定如何访问readerAt对象? https://golang.org/pkg/mime/multipart/#File
答案 0 :(得分:3)
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)