Browse Source

Merge remote-tracking branch 'origin/dev' into dev

Vanessa 1 year ago
parent
commit
e5bc93b4ea
1 changed files with 9 additions and 1 deletions
  1. 9 1
      kernel/model/export.go

+ 9 - 1
kernel/model/export.go

@@ -70,6 +70,9 @@ func ExportAv2CSV(avID string) (zipPath string, err error) {
 	}
 
 	name := util.FilterFileName(attrView.Name)
+	if "" == name {
+		name = "Untitled"
+	}
 
 	table, err := renderAttributeViewTable(attrView, view)
 	if nil != err {
@@ -90,8 +93,13 @@ func ExportAv2CSV(avID string) (zipPath string, err error) {
 		return
 	}
 
-	writer := csv.NewWriter(f)
+	if _, err = f.WriteString("\xEF\xBB\xBF"); nil != err { // 写入 UTF-8 BOM,避免使用 Microsoft Excel 打开乱码
+		logging.LogErrorf("write UTF-8 BOM to [%s] failed: %s", csvPath, err)
+		f.Close()
+		return
+	}
 
+	writer := csv.NewWriter(f)
 	var header []string
 	for _, col := range table.Columns {
 		header = append(header, col.Name)