# 使用 Sheetjs 将 JSON Array 转化为 Excel

- Link: https://www.ixiqin.com/2022/08/04/using-sheetjs-converting-the-json-array-to-excel/
- Published: 2022-08-04T06:00:00+08:00
- Author: 白宦成

文章目录

 [Toggle](https://www.ixiqin.com/2022/08/04/using-sheetjs-converting-the-json-array-to-excel/#)

 * [注意](https://www.ixiqin.com/2022/08/04/using-sheetjs-converting-the-json-array-to-excel/#%e6%b3%a8%e6%84%8f)
 * [用法](https://www.ixiqin.com/2022/08/04/using-sheetjs-converting-the-json-array-to-excel/#%e7%94%a8%e6%b3%95)

在 [使用 node-excel-stream 来按行处理 Excel 数据](https://www.ixiqin.com/2022/08/03/use-the-node-excel-to-press-line-processing-excel-data-stream/)
中，我提到，如果你希望简单的完成 Excel 的读取和处理，那么 node-excel-stream 是个
不错的选择。而反过来，如果你希望将 JSON Array 导出为 Excel，那么 [Sheetjs](https://docs.sheetjs.com/docs/getting-started/example)
是个不错的选择。

## 注意

[Sheetjs](https://docs.sheetjs.com/docs/getting-started/example) 和 exceljs 不同，
区分了商业版和社区版。我们这里使用的是社区版 Sheetjs CE

## 用法

使用 [Sheetjs](https://docs.sheetjs.com/docs/getting-started/example) 对数据进行
导出时，你只需要调用 XLSX 方法当中的 json_to_sheet ，就可以将你的 JSON Array 变为
一个 worksheet，接下来只需要将其放入一个新的 workbook 当中，并导出为文件，就可以
完成 JS 数据导出为 Excel。

    ```javascript
    const XLSX = require("xlsx");

    const data = [
      {
        ...
      },
      ...
    ]

    const worksheet = XLSX.utils.json_to_sheet(data);
    const workbook = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(workbook, worksheet, "sheetNameIsFirst");
    XLSX.writeFile(workbook, "output.xlsx");
    Code language: JavaScript (javascript)
    ```
