Excelシートで提供されているデータ型に従ってフォームを設計しなければならないフォームExcelシートを生成するタスクがあります。例:
ExcelからJavascriptのJSONスキーマへ
私は動的にフォームを生成するためにMongoDBに挿入できるようにExcelのデータの上からJSON
スキーマを作成しようとしています。続き
は私が実装しようとしているコードです:
var workbook = XLSX.readFile(req.file.path);
//console.log(workbook);
var result = {};
workbook.SheetNames.forEach(function (sheetName) {
var roa = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
if (roa.length > 0) {
result = roa;
}
});
//return result;
//console.log(result);
var jsonData = {};
var dropdown = {};
var attrTypes = result[0];
//console.log(attrTypes);
for (var i = 1; i < result.length; i++) {
var obj = result[i];
//console.log(obj);
for (var key in obj) {
var attrName = key;
var attrValue = obj[key];
if (attrTypes[attrName]) {
var type = attrTypes[attrName].toLowerCase().replace(/ /g, ''); // Means type is given
//console.log(type);
if (type === "selectbox") {
console.log(attrValue);
//var dropdown = attrValue;
//console.log(dropdown);
}
} else {
//console.log(type); // Means type is not given
jsonData = attrName + ":" + attrValue;
//console.log(jsonData);
}
}
}
期待JSON
出力:
[
{
Number : 1,
FirstName : "Abc",
LastName : "Xyza",
Dept: ['Finance','Health','Insurance'],
Country : ['US','Australia','Canada'],
Year : ['2014','2015','2016'],,
DateofBirth" : new Date(1937,05,02),
Gender : ['M','F']
},
{
Number : 2,
FirstName : "Abcd",
LastName : "Xyzb",
Dept: ['Finance','Health','Insurance'],
Country : ['US','Australia','Canada'],
Year : ['2014','2015','2016'],,
DateofBirth" : new Date(1948,10,27),
Gender : ['M','F']
}
.
.
and so on
]
上記は私がMEANSTACKに実装しようとしているコードです。
ご協力いただければ幸いです。
コードの塊を貼り付けて、デバッグを依頼しないでください。何を試しましたか?実際の対期待行動は何でしたか?エラーメッセージ? http://stackoverflow.com/help/how-to-ask –
@JuanMendes:そうです。私はポストを更新しましょう – Sky
@JuanMendes:ポストplzを更新しました – Sky