xlsx 到 json 有空单元格
xlsx to json with empty cells
我正在将一个文件从 xlsx 格式转换为 json,我可以正确地完成它,但是我无法让它显示空的单元格,请忽略它们。
我正在使用 XLSX 库。
这是我用来进行解析的代码。
const workbook = XLSX.readFile(filename);
const sheet_name_list = workbook.SheetNames;
let jsonPagesArray = [];
sheet_name_list.forEach(function(sheet) {
const jsonPage = {
name: sheet,
content: XLSX.utils.sheet_to_json(workbook.Sheets[sheet])
};
jsonPagesArray.push(jsonPage);
});
res.json(
{
data:jsonPagesArray
}
);
});
实际上,如果给这个:
xxx1 | xxx2 | xxx3
------------------
yyyy | yyyy |
zzzz | zzzz | zzzz
它return我:
[
{
xxx1:yyyy,
xxx2:yyyy
}
],
[
{
xxx1:zzzz,
xxx2:zzzz,
xxx3:zzzz
}
]
我想要它 return 我是这样的:
[
{
xxx1:yyyy,
xxx2:yyyy,
xxx3:""
}
],
[
{
xxx1:zzzz,
xxx2:zzzz,
xxx3:zzzz
}
]
能否将代码中的 content: XLSX.utils.sheet_to_json(workbook.Sheets[sheet])
替换为 content: XLSX.utils.sheet_to_json(workbook.Sheets[sheet], {defval:""})
然后重试?
这应该有效。 Working example
let XLSX = require('xlsx');
const workbook = XLSX.readFile(filename);
const sheet_name_list = workbook.SheetNames;
let jsonPagesArray = [];
sheet_name_list.forEach(function(sheet) {
const jsonPage = {
name: sheet,
content: JSON.parse(JSON.stringify(XLSX.utils.sheet_to_json(workbook.Sheets[sheet],{defval:""})))
};
jsonPagesArray.push(jsonPage);
});
console.log(jsonPagesArray[0].content);
您可以使用
XLSX.utils.sheet_to_json(worksheet , {defval:""})
我正在将一个文件从 xlsx 格式转换为 json,我可以正确地完成它,但是我无法让它显示空的单元格,请忽略它们。 我正在使用 XLSX 库。 这是我用来进行解析的代码。
const workbook = XLSX.readFile(filename);
const sheet_name_list = workbook.SheetNames;
let jsonPagesArray = [];
sheet_name_list.forEach(function(sheet) {
const jsonPage = {
name: sheet,
content: XLSX.utils.sheet_to_json(workbook.Sheets[sheet])
};
jsonPagesArray.push(jsonPage);
});
res.json(
{
data:jsonPagesArray
}
);
});
实际上,如果给这个:
xxx1 | xxx2 | xxx3
------------------
yyyy | yyyy |
zzzz | zzzz | zzzz
它return我:
[
{
xxx1:yyyy,
xxx2:yyyy
}
],
[
{
xxx1:zzzz,
xxx2:zzzz,
xxx3:zzzz
}
]
我想要它 return 我是这样的:
[
{
xxx1:yyyy,
xxx2:yyyy,
xxx3:""
}
],
[
{
xxx1:zzzz,
xxx2:zzzz,
xxx3:zzzz
}
]
能否将代码中的 content: XLSX.utils.sheet_to_json(workbook.Sheets[sheet])
替换为 content: XLSX.utils.sheet_to_json(workbook.Sheets[sheet], {defval:""})
然后重试?
这应该有效。 Working example
let XLSX = require('xlsx');
const workbook = XLSX.readFile(filename);
const sheet_name_list = workbook.SheetNames;
let jsonPagesArray = [];
sheet_name_list.forEach(function(sheet) {
const jsonPage = {
name: sheet,
content: JSON.parse(JSON.stringify(XLSX.utils.sheet_to_json(workbook.Sheets[sheet],{defval:""})))
};
jsonPagesArray.push(jsonPage);
});
console.log(jsonPagesArray[0].content);
您可以使用
XLSX.utils.sheet_to_json(worksheet , {defval:""})