私はhereのソリューションの1つに従っています。ソリューションはコンソールにログアウトしますが、保存方法はわかりません。そのため、.jsonファイルを読みやすくなります。私はファイルシステムモジュールを使って.jsonへの出力を記録しようとしました。私はそれを複数の行にすべて印刷する方法を知らない。それはすべて1行で出てくる。 new.jsonのjs-xlsxで複数の行にJSONを出力
var fs = require('fs');
var XLSX = require('xlsx');
var workbook = XLSX.readFile('test.xlsx');
var sheet_name_list = workbook.SheetNames;
sheet_name_list.forEach(function(y) {
var worksheet = workbook.Sheets[y];
var headers = {};
var data = [];
for(z in worksheet) {
if(z[0] === '!') continue;
//parse out the column, row, and value
var col = z.substring(0,1);
var row = parseInt(z.substring(1));
var value = worksheet[z].v;
//store header names
if(row == 1) {
headers[col] = value;
continue;
}
if(!data[row]) data[row]={};
data[row][headers[col]] = value;
}
//drop those first two rows which are empty
data.shift();
data.shift();
//console.log(data);
fs.writeFileSync("new.json", JSON.stringify(data), function(err) {
if(err) {
return console.log(err);
}
});
});
出力
[{"key":"AprilA45","Food":"Sandwich","yr":2017,"mo":"April" ...
私は 'データ= data.map(OBJ => JSON.stringify(OBJ)を追加しました).join(EOL); 'ファイルを書く前に、' const EOL = require( 'os')。EOL; 'は、コードの始めに、他のすべてが必要です。私はこれを持っています: "" \ "キー\":\ "AprilA45 \"、\ "食品\":\ "サンドウィッチ\"、\ " – myhouse