golang的一个小函数,导出csv数据
package export
import (
"encoding/csv"
"os"
)
func ExportCsv(fileName string, data [][]string, comma ...rune) (string, error) {
// 创建CSV文件
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 := csv.NewWriter(file)
if len(comma) > 0 {
writer.Comma = comma[0]
}
defer writer.Flush()
// 写入数据到CSV文件
for _, row := range data {
if err := writer.Write(row); err != nil {
return "", err
}
}
return fileName, nil
}