如何在NPM google-spreadsheet的addRows()中保留手机号文本格式与前导零
解决Google Sheets写入时手机号丢失前导零的问题
方案1:在内容前添加单引号强制纯文本
Google Sheets会将以单引号开头的内容识别为纯文本,不会自动转换格式。修改你的addRows调用,给手机号字段加上前缀单引号:
const ajout_gs_hebergements = GS_CA_tab_hebergements.addRows([{ 'identifiant': myIdentifiant, 'phone_number': `'${myPhoneNumber}' // 单引号强制纯文本格式` }]);
这种方法无需修改表格列格式,临时解决单个字段的格式问题,适合只需要处理特定行数据的场景。
方案2:预先设置列的格式为纯文本
如果需要整个phone_number列都保持纯文本格式,可以先通过API修改列的格式:
// 加载工作表的列信息 await GS_CA_tab_hebergements.loadCells(); // 定位phone_number列 const phoneColumnIndex = GS_CA_tab_hebergements.headerValues.findIndex(header => header === 'phone_number'); if (phoneColumnIndex !== -1) { // 设置列格式为纯文本 await GS_CA_tab_hebergements.updateColumn(phoneColumnIndex, { numberFormat: { type: 'TEXT' } }); } // 后续添加行数据无需额外处理手机号 const ajout_gs_hebergements = GS_CA_tab_hebergements.addRows([{ 'identifiant': myIdentifiant, 'phone_number': myPhoneNumber }]);
这种方法一劳永逸,后续写入该列的所有数据都会以纯文本格式保存,适合需要长期保持列格式的场景。
注意事项
- 方案1中写入的单元格不会显示前缀单引号,Google Sheets会自动隐藏该符号,仅展示手机号内容。
- 使用方案2时,确保服务账号拥有表格的编辑权限,否则无法修改列格式。
内容的提问来源于stack exchange,提问作者Julie Chaumard
相关产品推荐
相关产品推荐

