AgGrid导出Excel丢失前导零问题求助
解决AgGrid导出Excel时字符串型数字前导零丢失问题
问题原因
AgGrid导出Excel时会自动推断单元格数据类型,即使model字段是字符串类型,由于内容为数字格式,会被识别为数字类型导出,导致前导零被自动去除。
解决方案
方法1:指定列的导出数据类型
在列定义中添加cellDataType: 'string',明确告诉导出工具该列按字符串处理:
const [columnDefs] = useState([ { field: 'make' }, { field: 'model', cellDataType: 'string' }, // 新增配置 { field: 'price', editable: true }, ]);
方法2:自定义导出单元格处理逻辑
在导出Excel时,通过processCellCallback对model列的内容进行处理,添加Excel文本前缀(单引号'),强制单元格以字符串格式显示:
const exportExcel = () => { gridApi.current.exportDataAsExcel({ processCellCallback: (params) => { if (params.column.colId === 'model') { return `'${params.value}`; // 添加单引号前缀 } return params.value; } }); };
代码修改示例(方法1)
修改后的完整列定义部分:
const [columnDefs] = useState([ { field: 'make' }, { field: 'model', cellDataType: 'string' }, { field: 'price', editable: true }, ]);
以上两种方法都能确保导出Excel时,model列的前导零被完整保留。
内容的提问来源于stack exchange,提问作者Oam Psy
相关产品推荐
相关产品推荐

