Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON转置保存到excel工作表_Javascript_Json_Excel_Xlsx - Fatal编程技术网

Javascript 将JSON转置保存到excel工作表

Javascript 将JSON转置保存到excel工作表,javascript,json,excel,xlsx,Javascript,Json,Excel,Xlsx,我正在尝试转换JSON并将其保存到excel工作表: function transpose(a) { return Object.keys(a[0]).map(function(c) { return a.map(function(r) { return r[c]; }); }); } //example for JSON (in the program I get a long JSON in this shape) const sheet_arr = [{'

我正在尝试转换JSON并将其保存到excel工作表:

function transpose(a) {
    return Object.keys(a[0]).map(function(c) {
        return a.map(function(r) { return r[c]; });
    });
}

//example for JSON (in the program I get a long JSON in this shape)
const sheet_arr = [{'param1': 1, 'param2': 2},{'param1': 3, 'param2': 4},{'param1': 5, 'param2': 6}] 
 
var temp_ws = xls.utils.json_to_sheet(transpose(sheet_arr));
wb.Sheets['test'] = temp_ws;
在我得到的excel表格中:

 __________________
|  0  |  1  |  2  |
-------------------
|  1  |  3  |  5  | 
|  2  |  4  |  6  | 
-------------------
 _____________________________
|  param1  |  1  |  3  |  5  |
|  param2  |  2  |  4  |  6  |
------------------------------
我想得到这个:

 __________________
|  0  |  1  |  2  |
-------------------
|  1  |  3  |  5  | 
|  2  |  4  |  6  | 
-------------------
 _____________________________
|  param1  |  1  |  3  |  5  |
|  param2  |  2  |  4  |  6  |
------------------------------

我怎样才能轻松获得它?

这将为您提供所需的内容:

函数转置(a){
返回Object.keys(a[0]).map(函数(c){
设ret=a.map(函数(r){返回r[c];});
退卸(c);退卸;
});
};
//或在ES6符号中:
const transp=a=>Object.keys(a[0]).map(c=>{
设ret=a.map(r=>r[c]);ret.unshift(c);
返回ret;});
//JSON示例(在程序中,我得到了这个形状的长JSON)
常量表_arr=[{'param1':1,'param2':2},{'param1':3,'param2':4},{'param1':5,'param2':6}];
控制台日志(转置(表_arr));
控制台日志(传输(工作表)

。作为控制台包装{最大高度:100%!重要}
谢谢!它仍然显示索引的第一行(0 1 2 3),如何从JSON/Ecxel中删除它,使其完全符合需要?这必须发生在
xls.utils.JSON\u to_sheet()调用中。我还没有使用
xls.utils
做过任何事情,但是下面的内容可能会对您有所帮助?谢谢,正确的方法是
var temp_ws=xls.utils.json_to_sheet(transpose(sheet_arr),{skipHeader:1})