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

go json轉excel

黃文隆1年前9瀏覽0評論

Go語言中的JSON數據經常用于在前端和后端之間進行交換,但有時候需要將JSON數據轉換成Excel文件。本文將介紹如何使用Go語言實現將JSON數據轉換為Excel文件的方法。

首先,在Go語言中需要使用一個庫來操作Excel文件。本文使用的是Excelize庫。在安裝Excelize庫之前,需要在本地安裝libxml2和libxslt庫。可以通過以下命令來安裝:

sudo apt-get install -y libxml2 libxml2-dev libxslt-dev

安裝好依賴庫之后,可以通過以下命令來安裝Excelize庫:

go get github.com/360EntSecGroup-Skylar/excelize

安裝完Excelize庫之后,就可以開始將JSON數據轉換成Excel文件了。下面是代碼示例:

package main
import (
	"encoding/json"
	"fmt"
	"os"
	"strconv"
"github.com/360EntSecGroup-Skylar/excelize"
)
// 定義一個結構體來存儲JSON數據
type Student struct {
	Name  string `json:"name"`
	Age   int    `json:"age"`
	Score int    `json:"score"`
}
func main() {
	// 假設我們有以下JSON數據
	jsonData := `[{"name": "Tom", "age": 18, "score": 90},
{"name": "Jerry", "age": 17, "score": 95},
{"name": "Peter", "age": 20, "score": 88}]`
// 將JSON數據解析到一個切片中
	students := make([]Student, 0)
	err := json.Unmarshal([]byte(jsonData), &students)
	if err != nil {
fmt.Println(err)
return
	}
// 新建一個Excel文件
	f := excelize.NewFile()
// 在第一個Sheet中寫入表頭
	f.SetCellValue("Sheet1", "A1", "Name")
	f.SetCellValue("Sheet1", "B1", "Age")
	f.SetCellValue("Sheet1", "C1", "Score")
// 在第一個Sheet中寫入數據
	for i, student := range students {
f.SetCellValue("Sheet1", "A"+strconv.Itoa(i+2), student.Name)
f.SetCellValue("Sheet1", "B"+strconv.Itoa(i+2), student.Age)
f.SetCellValue("Sheet1", "C"+strconv.Itoa(i+2), student.Score)
	}
// 保存Excel文件
	err = f.SaveAs("students.xlsx")
	if err != nil {
fmt.Println(err)
return
	}
fmt.Println("JSON轉Excel成功!")
}

以上代碼將JSON數據轉換成了一個名為students.xlsx的Excel文件。在代碼中,我們首先將JSON數據解析到一個切片中,然后新建一個Excel文件,并在第一個Sheet中寫入表頭和數據,最后保存Excel文件。運行以上代碼后,將在當前目錄下生成一個名為students.xlsx的Excel文件。