```go
// 导出设备列表信息到csv
func (ba *businessActor) ExportDeviceListInfo(deviceList []device.AllDevice, filename string) error {
// 创建文件
newFile, err := os.Create(filename)
if err != nil {
return errors.Wrap(err, "创建文件失败")
}
defer func() {
newFile.Close()
}()
// 写入UTF-8
newFile.WriteString("\xEF\xBB\xBF") // 写入UTF-8 BOM,防止中文乱码
// 写数据到csv文件
w := csv.NewWriter(newFile)
header := []string{"房间号", "门锁信号", "门锁电量", "柚控名称", "柚控状态"} //标题
data := [][]string{
header,
}
for k, _ := range deviceList {
hostIsOnline := ""
if deviceList[k].BoxOnline {
hostIsOnline := "在线"
} else {
hostIsOnline := "离线"
}
context := []string{
deviceList[k].RoomName,
strconv.Itoa(deviceList[k].Rssi) + "%",
strconv.Itoa(deviceList[k].Electric) + "%",
deviceList[k].BoxName,
hostIsOnline,
}
data = append(data, context)
}
// WriteAll方法使用Write方法向w写入多条记录,并在最后调用Flush方法清空缓存。
w.WriteAll(data)
w.Flush()
return err
}
```
有疑问加站长微信联系(非本文作者))