Go语言excelize包-07-流式写入

文章目录

  • 1. 创建流式写入器
  • 2. 按行流式写入工作表
  • 3. 流式创建表格
  • 4. 结束流式写入
  • 5. 流式合并单元格
  • 6. 流式设置列宽
  • 7. 完整示例
    • 示例1
    • 示例2

1. 创建流式写入器

  • 语法
func (f *File) NewStreamWriter(sheet string) (*StreamWriter, error)
  • 语法示例
	f := excelize.NewFile()
	sw,_ := f.NewStreamWriter("Sheet1")

2. 按行流式写入工作表

func (sw *StreamWriter) SetRow(axis string, slice interface{}) error

3. 流式创建表格

func (sw *StreamWriter) AddTable(hCell, vCell, format string) error

4. 结束流式写入

func (sw *StreamWriter) Flush() error

5. 流式合并单元格

func (sw *StreamWriter) MergeCell(hCell, vCell string) error

6. 流式设置列宽

func (sw *StreamWriter) SetColWidth(min, max int, width float64) error

7. 完整示例

示例1

  • 代码
package main

package main

import (
	"github.com/xuri/excelize/v2"
)

func main() {
	f := excelize.NewFile()
	sw,_ := f.NewStreamWriter("Sheet1")
	rowValues1 := []interface{}{"LiuBei","GuanYu","Zhangfei"}
	sw.SetRow("A1",rowValues1)
	rowValues2 := []interface{}{"LiuBei","GuanYu","Zhangfei"}
	sw.SetRow("A2",rowValues2)
	sw.Flush()
	f.SaveAs("liuBei.xlsx")
}
  • 结果显示
    在这里插入图片描述

示例2

  • 代码
package main

import (
	"fmt"
	"github.com/xuri/excelize/v2"
	"strconv"
)

func main() {
	f := excelize.NewFile()
	sw,_ := f.NewStreamWriter("Sheet1")
	for i:=2;i<=99;i++ {
		rowN := "A"+strconv.Itoa(i)
		fmt.Println(rowN)
		rowValues := []interface{}{"LiuBei","GuanYu","Zhangfei"}
		sw.SetRow(rowN,rowValues)
	}
	sw.Flush()
	f.SaveAs("liuBei.xlsx")
}

Go语言excelize包-07-流式写入_第1张图片

你可能感兴趣的:(#,go的一些用法,golang,开发语言,excelize包,GO语言,流式写入)