You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Office Scripts中将数组值以文本格式写入单元格区域

解决Office Scripts写入Excel时保留前导零的问题

要保留带前导零的文本内容,核心是先将目标单元格区域设置为文本格式,再写入数据。Excel的常规格式会自动将类似"00123"的字符串识别为数字并去除前导零,因此需要提前指定格式。

修改后的脚本

function main(workbook: ExcelScript.Workbook, wsName: string, startCell: string, strArr: string) {
    // 将字符串转为二维数组
    let dataArr: string[][] = JSON.parse(strArr);
    // 获取目标工作表
    let ws = workbook.getWorksheet(wsName);
    // 计算目标数据区域
    let dataRng = ws.getRange(startCell).getAbsoluteResizedRange(dataArr.length, dataArr[0].length);
    
    // 关键步骤:将区域设置为文本格式(@代表文本格式代码)
    dataRng.setNumberFormat("@");
    
    // 写入数据
    dataRng.setValues(dataArr);
}

关键说明

  • setNumberFormat("@"):将目标区域的数字格式设置为文本,强制Excel将后续写入的内容视为纯文本,不会自动转换为数字类型。
  • 必须先设置格式再写入值:如果先写值再改格式,已经被转换的数字无法恢复前导零,顺序不能颠倒。

内容的提问来源于stack exchange,提问作者mean_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:32:03