SheetJS:在json_to_sheet中不包含标题

时间:2017-11-22 00:01:39

标签: js-xlsx xlsx-js sheetjs

SheetJS documentation显示了一种获取JSON对象并将其转换为Excel工作表的方法。从他们的例子来看:

var ws = XLSX.utils.json_to_sheet([
  {S:1,h:2,e:3,e_1:4,t:5,J:6,S_1:7},
  {S:2,h:3,e:4,e_1:5,t:6,J:7,S_1:8}
], {header:["S","h","e","e_1","t","J","S_1"]});

默认情况下,标题信息为Object.keys。

输出在excel中如下所示:

excel output

我的问题:从Json_to_sheet转换时如何省略标题?我不想在输出中使用标题,只需要按Object.keys的顺序排列数字。

1 个答案:

答案 0 :(得分:2)

请在下面找到更新的答案:

if(typeof XLSX == 'undefined') XLSX = require('xlsx');
var wb = XLSX.utils.book_new();

var ws = XLSX.utils.json_to_sheet([
  {S:1,h:2,e:3,e_1:4,t:5,J:6,S_1:7},
  {S:2,h:3,e:4,e_1:5,t:6,J:7,S_1:8}
], {skipHeader: 1});

XLSX.utils.book_append_sheet(wb, ws, "No Header");

var wbout = XLSX.write(wb, {bookType:'xlsx', type:'array'});
saveAs(new Blob([wbout],{type:"application/octet-stream"}), "test.xlsx");

在这里,我们可以使用 skipHeader 选项,以便将JSON Key值跳过默认值作为列名。