07-流式写入

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")
}

在这里插入图片描述


posted on 2022-10-21 23:21  运维开发玄德公  阅读(83)  评论(0)    收藏  举报  来源

导航