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   运维开发玄德公  阅读(56)  评论(0编辑  收藏  举报  

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示