84 lines
1.5 KiB
Markdown
84 lines
1.5 KiB
Markdown
### 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()
|
|
}
|
|
```
|
|
|