首先,需要安裝golang用來操作excel文檔的類庫:
go get github.com/Luxurioust/excelize
一、excel文件創建與寫入
package main
import (
"log"
"github.com/Luxurioust/excelize"
)
func main() {
//創建excel文件
xlsx := excelize.NewFile()
//創建新表單
index := xlsx.NewSheet("成績表")
//寫入數據
data := map[string]string{
//學科
"B1": "語文",
"C1": "數學",
"D1": "英語",
"E1": "理綜",
//姓名
"A2": "啊俊",
"A3": "小傑",
"A4": "老王",
//啊俊成績
"B2": "112",
"C2": "115",
"D2": "128",
"E2": "255",
//小傑成績
"B3": "100",
"C3": "90",
"D3": "110",
"E3": "200",
//老王成績
"B4": "70",
"C4": "140",
"D4": "60",
"E4": "265",
}
for k, v := range data {
//設置單元格的值
xlsx.SetCellValue("成績表", k, v)
}
//設置默認打開的表單
xlsx.SetActiveSheet(index)
//保存文件到指定路徑
err := xlsx.SaveAs("./成績表.xlsx")
if err != nil {
log.Fatal(err)
}
}
效果圖:
二、excel文件讀取
package main
import (
"fmt"
"log"
"github.com/Luxurioust/excelize"
)
func main() {
f, err := excelize.OpenFile("./成績表.xlsx")
if err != nil {
log.Fatal(err)
}
/*
//讀取某個單元格的值
value, err := f.GetCellValue("成績表", "D2")
if err != nil {
log.Fatal(err)
}
fmt.Println(value)
*/
//讀取某個表單的所有數據
rows, err := f.GetRows("成績表")
if err != nil {
log.Fatal(err)
}
for _, row := range rows {
for _, value := range row {
fmt.Printf("\t%s", value)
}
fmt.Println()
}
}
效果圖: