參考文檔:https://github.com/qax-os/excelize
安裝 excelize
包
go get github.com/xuri/excelize/v2
創建電子表格
func TestCreateSpreadsheet(t *testing.T) {
f := excelize.NewFile()
// 創建新的sheet.
index := f.NewSheet("Sheet2")
// 向單元格中設置值
f.SetCellValue("Sheet2", "A2", "Hello world.")
f.SetCellValue("Sheet1", "B2", 100)
// 設置激活的sheet
f.SetActiveSheet(index)
// 將電子表格進行保存
if err := f.SaveAs("Book1.xlsx"); err != nil {
fmt.Println(err)
}
// 將電子表格轉成 buffer
f.WriteToBuffer()
}
讀取電子表格
func TestReadSpreadsheet(t *testing.T) {
f, err := excelize.OpenFile("Book1.xlsx")
if err != nil {
fmt.Println(err)
return
}
defer func() {
// 關閉文件
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
// 從指定的單元格中取值
cell, err := f.GetCellValue("Sheet1", "B2")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(cell)
// 從sheet中獲取行數據
rows, err := f.GetRows("Sheet1")
if err != nil {
fmt.Println(err)
return
}
for _, row := range rows {
for _, colCell := range row {
fmt.Print(colCell, "\t")
}
fmt.Println()
}
}