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


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了