SheetJS/js-xlsx修改表头json_to_sheet修改表头

卞俊贤
2023-12-01

官方文档看到的,记录一下,帮大家踩坑。


//待展示的数据,可能是从后台返回的json数据或者是自己定义的object
const data = [
  { S:1, h:2, e:3, e_1:4, t:5, J:6, id:7 },
  { S:2, h:3, e:4, e_1:5, t:6, J:7, id:8 }
];

//展示的顺序,把data中对象的属性按照你想要的顺序排放就可以了,我这里把id移到了第一列展示
const header = ["id", "S","h","e","e_1","t","J"];

var worksheet = XLSX.utils.json_to_sheet(data, {header:header});

这样生成的表头就是header,到时生成的表格大致长这样:

idShee_1tJ
7123456
8234567

 

 

!如果想要自定义表头,就需要这样


//待展示的数据,可能是从后台返回的json数据或者是自己定义的object
const data = [
  { S:1, h:2, e:3, e_1:4, t:5, J:6, id:7 },
  { S:2, h:3, e:4, e_1:5, t:6, J:7, id:8 }
];

//展示的顺序,把data中对象的属性按照你想要的顺序排放就可以了,我这里把id移到了第一列展示
const header = ["id", "S","h","e","e_1","t","J"];
//展示的名称
const headerDisplay = {S:"S栏", h:"h栏", e:"e栏", e_1:"e_1栏", t:"t栏", J:"J栏", id:"id栏"};

//将表头放到原始数据里面去,要保证表头在数组的最前面
const newData = [headerDisplay, ...data];

//加了一句skipHeader:true,这样就会忽略原来的表头
var worksheet = XLSX.utils.json_to_sheet(newData, {header:header, skipHeader:true});

 

这样生成的表头就是headerDisplay ,到时生成的表格大致长这样:

id栏S栏h栏e栏e_1栏t栏J栏
7123456
8234567
 类似资料: