标签: xlsx-js

在 json_to_sheet 之后使用 XLSX js 对列进行排序和过滤

我正在使用这个xlsx js库从 Angular5 应用程序中的 TypeScript 对象列表生成 Excel 文件。

我不需要 TypeScript 对象的所有属性,我想以特定方式对其他属性进行排序。

以一个简单的 TypeScript 对象列表为例:

[
  { 
    "id":"one",
    "location":"New York",
    "metadata":"just other infos",
    "name":"John",
  },
  { 
    "id":"two",
    "location":"Boston",
    "metadata":"just other infos",
    "name":"Mark",
  },
  { 
    "id":"three",
    "location":"Portland",
    "metadata":"just other infos",
    "name":"Samy",
  }
]
Run Code Online (Sandbox Code Playgroud)

想要Excel输出:

|id    |name |location |
|one   |John |New York |
|two   |Mark |Boston   |
|three |Samy |Portland |
Run Code Online (Sandbox Code Playgroud)

到目前为止我所拥有的(排序没问题):

const workbook = XLSX.utils.book_new();
const myHeader = ["id","name","location"];
const worksheet = XLSX.utils.json_to_sheet(this.myListOfObjects(), {header: myHeader});
XLSX.utils.book_append_sheet(workbook, worksheet, 'tab1');
XLSX.writeFile(workbook, …
Run Code Online (Sandbox Code Playgroud)

javascript excel typescript xlsx-js angular5

3
推荐指数
1
解决办法
1万
查看次数

SheetJS:不要在 json_to_sheet 中包含标题

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 顺序中的数字。

js-xlsx xlsx-js sheetjs

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

xlsx-js ×2

angular5 ×1

excel ×1

javascript ×1

js-xlsx ×1

sheetjs ×1

typescript ×1