Golang 基於excelize實現Excel表格的解析、導出


參考文檔: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()
   }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM