使用JS的XLSX库将JSON转Excel时如何跳过指定键值对
使用XLSX(SheetJS)实现指定字段导出Excel方案
方法1:提前过滤数据(可读性更高)
先处理原始数组,仅保留需要导出的字段,再转换为Excel工作表。
完整代码示例:
// 1. 原始JSON数据 const originData = [ { car: "Range Rover", color: "silver", year: "2021" }, { car: "Benz", color: "black", year: "2019" }, { car: "Toyota", color: "silver", year: "2020" } ]; // 2. 过滤仅保留需要的car、color字段 const filteredData = originData.map(item => ({ car: item.car, color: item.color })); // 3. 生成Excel并导出 // Node/npm环境需要先导入:import * as XLSX from 'xlsx' // 浏览器环境直接使用全局XLSX对象即可 const worksheet = XLSX.utils.json_to_sheet(filteredData); const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, worksheet, "车辆清单"); XLSX.writeFile(workbook, "car_list.xlsx");
方法2:直接指定导出列(效率更高)
无需提前遍历过滤数组,直接在调用json_to_sheet方法时通过header参数指定要导出的字段,适合数据量较大的场景。
完整代码示例:
const originData = [ { car: "Range Rover", color: "silver", year: "2021" }, { car: "Benz", color: "black", year: "2019" }, { car: "Toyota", color: "silver", year: "2020" } ]; // 直接通过header参数指定保留的字段,顺序可自定义 const worksheet = XLSX.utils.json_to_sheet(originData, { header: ['car', 'color'] }); const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, worksheet, "车辆清单"); XLSX.writeFile(workbook, "car_list.xlsx");
注意事项
header参数里的字段名必须和原始对象的键名完全匹配,大小写敏感- 导出的Excel列顺序和
header数组的顺序完全一致,可根据需求调整顺序
内容的提问来源于stack exchange,提问作者Valentine Sean
相关产品推荐
相关产品推荐

