SheetJS:不要在 json_to_sheet 中包含标题

Tyk*_*kin 1 js-xlsx xlsx-js sheetjs

SheetJS文档显示的方式采取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"]});
Run Code Online (Sandbox Code Playgroud)

默认情况下,头信息是 Object.keys。

输出在 excel 中如下所示:

输出

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

小智 8

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

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");
Run Code Online (Sandbox Code Playgroud)

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

  • 应该是 `skipHeader: true` :) (https://sheetjs.gitbooks.io/docs/#array-of-objects-input) (3认同)