欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go excel轉json

夏志豪1年前7瀏覽0評論

Go Excel轉JSON是一種將Excel文件數據轉換為JSON格式的方法。通過這種方法,我們可以將Excel文件中的數據以JSON格式傳遞給其他系統或程序。在Go語言中,我們可以使用一些庫來實現這種轉換過程。在下面的代碼段中,我們將展示如何使用go-excelize包來實現Excel轉JSON。

import (
"fmt"
"github.com/360EntSecGroup-Skylar/excelize/v2"
"encoding/json"
)
type Result struct {
Name string `json:"name"`
Age int `json:"age"`
}
func ExcelToJson(fileName string) ([]byte, error) {
f, err := excelize.OpenFile(fileName)
if err != nil {
return nil,fmt.Errorf("openfile error:%v",err)
}
rows, err := f.GetRows("Sheet1")
if err != nil {
return nil,fmt.Errorf("get rows error:%v",err)
}
var results []Result
for i, row := range rows {
if i == 0 { //第一行為標題不用處理
continue
}
result := Result{
Name: row[0],
Age:  row[1],
}
results = append(results,result)
}
js,err := json.Marshal(results)
if err != nil{
return nil,fmt.Errorf("json marshal error:%v",err)
}
return js,nil
}

以上代碼中,我們首先使用excelize包打開Excel文件,然后通過GetRows方法獲取Sheet1中的所有行。我們定義了一個名為Result的結構體來存儲Excel文件中的數據,其中包括name和age兩個屬性。隨后,我們用循環將每一行的name和age值存儲到Result中,最后用json.Marshal將數據轉換為JSON并返回。

下面是如何使用該代碼的示例:

func main() {
jsonBytes,err := ExcelToJson("./test.xlsx")
if err != nil {
log.Fatalf("error:%v",err)
}
fmt.Println(string(jsonBytes))
}

通過運行上述代碼,我們可以將Excel文件中的數據轉換為JSON格式并輸出。