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格式并輸出。