Javascript 如何使用xlsx npm库将嵌套json对象转换为excel表?

Javascript 如何使用xlsx npm库将嵌套json对象转换为excel表?,javascript,angular,xlsx,sheetjs,Javascript,Angular,Xlsx,Sheetjs,我有一个嵌套的json对象。为了简单起见: data = {'key1': 1, 'key2': 2, 'key3': {'nestedKey1': 3, 'nestedKey2': 4}} 一个真实的物体更大,但关键是它是嵌套的。值可以是字符串、数字或其他对象。 现在我需要得到一个excel表(对于这个特定的json,如下所示): 为了做到这一点,我尝试使用xlsx库。我按如下方式导入库: import { WorkSheet, WorkBook, utils, writeFile } fr

我有一个嵌套的json对象。为了简单起见:

data = {'key1': 1, 'key2': 2, 'key3': {'nestedKey1': 3, 'nestedKey2': 4}}
一个真实的物体更大,但关键是它是嵌套的。值可以是字符串、数字或其他对象。 现在我需要得到一个excel表(对于这个特定的json,如下所示):

为了做到这一点,我尝试使用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');

但它并没有像我希望的那样处理嵌套对象。我不知道该怎么做才能得到想要的结果。

它总是只会给你一个平坦的结果。您可以尝试一些在线转换器,这些转换器仅用于展平。

但如果您使用剑道网格,它会按照您的期望导出


嗨,我很抱歉,我没怎么用图书馆。Excel中是否有嵌套列功能,或者是否希望它们成为“分组列”?我可能只是对对象进行预处理以将其展平,如:
让myObj={'key1':1,'key2':2,'key3.nestedKey1':3,'key3.nestedKey2':4}
在执行json\u to\u工作表之前,如果这对您的用例合适的话hi,谢谢您的回复。嗯,我想把物体展平,但我希望图书馆能做更复杂的事情。我真的不喜欢excel有很多原因,因此我没有经常使用它,所以我不确定上面的结构叫什么样的。据我所知,这些列是嵌套的。我收到了一个xlsx格式的表格示例,但我还没有找到如何使用此库获得所需的结果。请阅读此库不支持复杂的Json结构是否需要使用SheetJS?有没有可能使用另一个像ExcelJS()这样的库?这里有类似的问题,您可能知道它是如何实现的。
writeFile(workBook, 'Tests.xlsx');