今天老婆大人又来需求了,要我把她需要的 JSON 数据用 excel 的形式给她。安排!
const fs = require('fs')
const jsonStr = fs.readFileSync('./a.json', 'utf-8')
const json = JSON.parse(jsonStr)
let str = '\ufeff'
str += '项目名称,'
str += '项目编码,'
str += '办公室名称\n'
for (const key in json) {
json[key].forEach((item, index) => {
if (index === 0) {
str += key
}
str += ','
str += item.projectCode
str += ','
str += item.officeName
str += '\n'
})
}
fs.writeFileSync('./a.csv', str)
原理很简单,只需要使用 node 的 fs 文件模块。拿到文件 - 解析数据 - 转换数据 - 组成 csv 数据 - 生成 csv 文件。
其中一个知识点是在创建 csv 的时候,需要用 ,
英文逗号分隔,而在将字符串一键复制到 csv 的时候,需要用 \t
这个 tab 标识符来分隔。
另外在创建 csv 的时候最好加上 \ufeff
避免乱码。
网友评论