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

本文介绍如何使用XLSX库自定义JSON数据转换为Excel表格的顺序及表头显示,包括基本的排序方法和进阶的自定义表头技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


//待展示的数据,可能是从后台返回的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
`xlsx.utils.json_to_sheet()` 方法可以将 JSON 数据转换为工作表中的表格,但是它不支持直接添加表头。如果你想要添加表头,可以在转换之前手动将表头添加到工作表中。 以下是一个示例代码,演示如何在工作表中添加表头: ```python import openpyxl from openpyxl.utils import get_column_letter # JSON 数据 data = [ {"name": "张三", "age": 20, "gender": "男"}, {"name": "李四", "age": 22, "gender": "女"}, {"name": "王五", "age": 25, "gender": "男"} ] # 创建一个工作簿和工作表 workbook = openpyxl.Workbook() worksheet = workbook.active # 添加表头 headers = ['姓名', '年龄', '性别'] for idx, header in enumerate(headers, 1): column = get_column_letter(idx) worksheet[f'{column}1'] = header # 将 JSON 数据转换为工作表中的表格 for row, item in enumerate(data, 2): for column, value in enumerate(item.values(), 1): column_letter = get_column_letter(column) worksheet[f'{column_letter}{row}'] = value # 保存工作簿 workbook.save('example.xlsx') ``` 这段代码将创建一个包含 JSON 数据的列表,并创建一个工作簿和工作表。接着,代码将使用 `get_column_letter()` 方法生成表头所对应的列字母,然后将表头添加到工作表的第一行。最后,代码将遍历 JSON 数据中的每一项,将其写入工作表中。注意,这里需要将行和列的起始位置分别设置为 2 和 1,因为第一行已经被用于添加表头了。最后将工作簿保存到名为 `example.xlsx` 的 Excel 文件中。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值