### excelize库 读写Excel的Go库 [github](https://github.com/qax-os/excelize) ## 基本用法 #### 创建工作簿 ```go f := excelize.NewFile() defer func() { if err := f.Close(); err != nil { fmt.Println(err) } }() // 创建一个新的Sheet,返回的index为该工作簿的索引 index, err := f.NewSheet("SheetName") if err != nil { return fmt.Errorf("创建Sheet失败: %w", err) } ``` #### 打开文件 ```go f, err := excelize.OpenFile(filePath) if err != nil { return fmt.Errorf("打开 Excel失败: %w", err) } defer func() { if err := f.Close(); err != nil { fmt.Println(err) } }() ``` #### 写入cell值 ```go f.SetCellValue("SheetName", "B2", 100) ``` #### 设置工作簿默认活动工作表 ```go f.SetActiveSheet(index) ``` #### 创建或更新excel表 ```go if err := f.SaveAs("Book1.xlsx"); err != nil { return fmt.Errorf("保存失败: %w", err) } ``` #### 获取指定cell值 ```go cell, err := f.GetCellValue("Sheet1", "B2") if err != nil { return fmt.Errorf("读取cell失败: %w", err) } fmt.Println(cell) ``` #### 获取所有工作簿的cell值(二维数组) ```go rows, err := f.GetRows("Sheet1") if err != nil { return fmt.Errorf("读取失败: %w", err) } for _, row := range rows { for _, colCell := range row { fmt.Print(colCell, "\t") } fmt.Println() } ```