go excel 流式导出数据

    wb := excelize.NewFile()
    wb.Path = "excel_files.xlsx"

    sheetName := wb.GetSheetName(wb.GetActiveSheetIndex())
    // 生成流写入对象
    streamSheet, err := wb.NewStreamWriter(sheetName)
    if err != nil {
        fmt.Println(err)
    }
    // 流式添加表格  好像没有作用
    if err := streamSheet.AddTable("A1", "D10", ``); err != nil {
        fmt.Println(err)
    }
    // 设置列宽
    if err := streamSheet.SetColWidth(1, 4, 20); err != nil {
        fmt.Println(err)
    }
    // 设置一整行的值   只有值
    // 先构造数据
    // 姓名  年龄  性别  工资
    // 使用faker 模块构造测试数据
    for i := 0; i < 10; i++ { // 行
        var row = make([]interface{}, 4)
        row[0] = faker.Name()
        row[1] = rand.Intn(100)
        row[2] = faker.Gender()
        row[3] = rand.Intn(10000) / 100

        streamSheet.SetRow(fmt.Sprintf("A%d", i), row)
    }
    // 执行了 flush 才算是写进去了
    streamSheet.Flush()
    wb.Save()

doc:
https://xuri.me/excelize/zh-hans/stream.html#Flush

你可能感兴趣的:(go excel 流式导出数据)