var result = [];
var bin = fs.readFileSync(file);
var data = iconv.decode(bin, 'gbk');
data = data.replace(/\t/g, "");
data = data.replace(/\"([^\"]*)\"/g, function (a) {
return a.replace(/,|"/g, "")
})
var lines = data.split("\r\n");
for (let i in lines) {
var rows = lines[i].split(",");
for (let j in rows) {
rows[j] = rows[j].trim();
}
result.push(rows)
}
this.xlsxData = result;
我這樣可以,然後發現差別好像是iconv.decode?
我的解決方法是不進行GBK編碼,直接輸出utf-8,但需要加BOM頭。
new Buffer('xEFxBBxBF','binary') + utf-8字符串