| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package excel
- import (
- "bswas/utilities"
- "github.com/360EntSecGroup-Skylar/excelize/v2"
- )
- const SHEET = "Sheet1"
- func CreateFile(row []interface{},list [][]interface{}, mergeRow map[string]string, mergeColumn []string) (excel *excelize.File) {
- file := excelize.NewFile()
- streamWriter, err := file.NewStreamWriter(SHEET)
- if err != nil {
- utilities.WriteLog("/excel/export.go:14 文件生成失败!","ERROR")
- }
- cell, _ := excelize.CoordinatesToCellName(1, 1)
- if err := streamWriter.SetRow(cell, row); err != nil {
- utilities.WriteLog("/excel/export.go:18 写入表头失败!","ERROR")
- }
- for index := 0; index < len(list); index++ {
- cell, _ := excelize.CoordinatesToCellName(1, index+2)
- if err := streamWriter.SetRow(cell, list[index]); err != nil {
- utilities.WriteLog("/excel/export.go:23 数据写入文件失败!","ERROR")
- }
- }
- if mergeRow != nil && mergeColumn != nil {
- for start,end := range mergeRow {
- for i := 0;i<len(mergeColumn); i++ {
- err := file.MergeCell(SHEET,mergeColumn[i]+start,mergeColumn[i]+end)
- if err != nil {
- utilities.WriteLog("/excel/export.go:31 合并单元格失败!","ERROR")
- return
- }
- }
- }
- }
- if err := streamWriter.Flush(); err != nil {
- utilities.WriteLog("/excel/export.go:39 文件流关闭失败!","ERROR")
- }
- return file
- }
|