我有一个嵌套的json对象。为了简单起见:
data = {'key1': 1, 'key2': 2, 'key3': {'nestedKey1': 3, 'nestedKey2': 4}}
一个真实的对象更大,但要点是它是一个嵌套的对象。值可以是字符串,数字或其他对象。
现在,我需要获取一个excel表(对于此特定的json如下所示):
|----------------------------------------
| key1 | key2 | key3 |
| | |--------------------------
| | | nestedKey1 | nestedKey2 |
|----------------------------------------
| 1 | 2 | 3 | 4 |
|----------------------------------------
为了做到这一点,我尝试使用xlsx库。我导入库,如下所示:
import { WorkSheet, WorkBook, utils, writeFile } from 'xlsx';
在我的方法中,我定义了对象:
let myObj = {'key1': 1, 'key2': 2, 'key3': {'nestedKey1': 3, 'nestedKey2': 4}}
然后创建一个工作表和工作簿:
const workSheet: WorkSheet = utils.json_to_sheet([myObj]);
const workBook: WorkBook = utils.book_new();
utils.book_append_sheet(workBook, workSheet, 'object_to_save');
最后将其写入文件:
writeFile(workBook, 'Tests.xlsx');
但是完全可以预期,它不会像我希望的那样处理嵌套对象。我不知道该怎么做才能获得理想的结果。
最佳答案
它总是只会使您展平结果。您可以尝试一些仅在展平时使用的在线转换器。
https://json-csv.com/
但是,如果您使用的是Kendo-grid,它将按照您的期望进行导出。
https://demos.telerik.com/kendo-ui/grid/excel-export
关于javascript - 如何使用xlsx npm库将嵌套的json对象转换为excel表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56598405/