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