当下go语言没有成熟的xls框架,试了好多个xls框架,都有问题(读取不全或者乱码)。但是又必须要读取xls格式的表格文件。没有办法,又没有时间去研究这些框架,只好用其他语言将xls自动转成xlsx格式再进行读取操作。在这里采用的是python3。
linux安装教程
windows安装教程
windows 64位下的安装包下载慢,我放蓝奏云了
python-3.7.7-amd64.exe下载:https://wws.lanzous.com/i68fAnhyz9i 密码:but3
根据自己系统环境变量设置,选择使用pip或者pip3,一定要使用跟python3对应的pip。
pip3 install pyexcel pyexcel-xls pyexcel-xlsx
将下面代码保存到xls2xlsx.py文件中。
import pyexcel as p
import sys
xlsFile = sys.argv[1]
p.save_book_as(file_name=xlsFile,
library='pyexcel-xls',
skip_hidden_row_and_column=True,
dest_file_name=xlsFile + "x")
注意提前判断好文件格式,函数内不再判断。
// path:xls文件路径
func Xls2Xlsx(path *string) error {
// 删除已经存在同名xlsx文件
if _, err := os.Stat(*path + "x"); err == nil {
os.Remove(*path + "x")
}
// 执行命令(阻塞式调用)
err := exec.Command("python3", "./xls2xlsx.py", *path).Run()
if err != nil {
fmt.Println(err.Error())
return err
}
// 查看xlsx文件是否成功生成
if _, err := os.Stat(*path + "x"); err == nil {
*path = *path + "x"
} else {
return errors.New("格式转化失败,请手动转换为xlsx格式。")
}
return nil
}
接下来,有了xlsx文件,想怎么zao怎么zao吧~!
python3环境安装和pip下载问题,很蛋疼的。遇到问题多搜索,解决不了,可以留言问我。