go语言读取xls表格xls文件操作替代解决方案
生活随笔
收集整理的這篇文章主要介紹了
go语言读取xls表格xls文件操作替代解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前提說明
當下go語言沒有成熟的xls框架,試了好多個xls框架,都有問題(讀取不全或者亂碼)。但是又必須要讀取xls格式的表格文件。沒有辦法,又沒有時間去研究這些框架,只好用其他語言將xls自動轉成xlsx格式再進行讀取操作。在這里采用的是python3。
1. python3環境
1.1 安裝python3
linux安裝教程
windows安裝教程
windows 64位下的安裝包下載慢,我放藍奏云了
python-3.7.7-amd64.exe下載:https://wws.lanzous.com/i68fAnhyz9i 密碼:but3
1.2 相關框架
根據自己系統環境變量設置,選擇使用pip或者pip3,一定要使用跟python3對應的pip。
pip3 install pyexcel pyexcel-xls pyexcel-xlsx2. python代碼(xls轉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")3. go調用代碼
注意提前判斷好文件格式,函數內不再判斷。
// 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下載問題,很蛋疼的。遇到問題多搜索,解決不了,可以留言問我。
總結
以上是生活随笔為你收集整理的go语言读取xls表格xls文件操作替代解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 连连看外挂1.0
- 下一篇: 中国牛市还会来吗,中国牛市啥时候到?