golang 打开表格出错 excelize.OpenFile zip: not a valid zip file
原代码
package main
import (
"fmt"
// "github.com/360EntSecGroup-Skylar/excelize"
"github.com/xuri/excelize/v2"
)
func main() {
f, err := excelize.OpenFile("Book2.xlsx")
if err != nil {
fmt.Println(err)
return
}
}
方法一
可能的问题,1是xlsx的头信息不一样,导致这个库不支持。2是用旧版本生成的.xlsx这个库也不支持。当然1的可能性大。
可用解决办法,使用go程序创建的.xlsx模板,把所有内容复制在这个模板里,再传到后台就能打开。
// Create a new sheet.
func createXlsx() {
f := excelize.NewFile()
index := f.NewSheet("Sheet2")
f.SetCellValue("Sheet2", "A2", "Hello world.")
f.SetCellValue("Sheet1", "B2", 100)
f.SetActiveSheet(index)
if err := f.SaveAs("Book1.xlsx"); err != nil {
fmt.Println(err)
}
}
方法二
另外一个解决方法是使用.csv格式,简单方便没有这些兼容性问题。
问题参考:https://github.com/qax-os/excelize/issues/207