浏览代码

update 新增导出csv文件

Alvin 8 月之前
父节点
当前提交
874ab4ba94
共有 1 个文件被更改,包括 38 次插入0 次删除
  1. 38 0
      extend/export/csv.go

+ 38 - 0
extend/export/csv.go

@@ -0,0 +1,38 @@
+package export
+
+import (
+	"encoding/csv"
+	"os"
+)
+
+type CsvExport struct {
+}
+
+func (e *CsvExport) ExportData(fileName string, datas [][]string, comma ...rune) error {
+	// 打开文件
+	file, err := os.Create(fileName)
+	if err != nil {
+		return err
+	}
+	defer file.Close()
+
+	// 写入UTF-8 BOM,避免使用Microsoft Excel打开乱码
+	file.WriteString("\xEF\xBB\xBF")
+
+	// 创建csv writer
+	writer := csv.NewWriter(file)
+	if len(comma) > 0 {
+		writer.Comma = comma[0]
+	}
+	defer writer.Flush()
+
+	// 写入数据
+	for _, data := range datas {
+		err = writer.Write(data)
+		if err != nil {
+			return err
+		}
+	}
+
+	return nil
+}