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

Google Forms自动化:数组存储数据后无法填充PDF复选框问题

问题分析与解决

核心问题在于Google Forms的复选框响应返回的是数组类型,而非单个字符串。你当前用== 'Sí'的判断方式,会因为数组和字符串类型不匹配,导致始终返回false,无法正确识别勾选状态。

修改步骤

1. 修正复选框状态判断逻辑

将数组定义中的判断逻辑改为检查响应是否为数组,且包含目标选项文本:

var pertenenciasCocinas = {
    cafeteraElectrica: Array.isArray(respuestas['Cafetera electrica']) && respuestas['Cafetera electrica'].includes('Sí'),
    licuadora: Array.isArray(respuestas['Licuadora']) && respuestas['Licuadora'].includes('Sí'),
    botellonAgua: Array.isArray(respuestas['Botellón de agua']) && respuestas['Botellón de agua'].includes('Sí'),
    cubiertos: Array.isArray(respuestas['Cubiertos']) && respuestas['Cubiertos'].includes('Sí'),
    microondas: Array.isArray(respuestas['Microondas']) && respuestas['Microondas'].includes('Sí'),
    nevera: Array.isArray(respuestas['Nevera']) && respuestas['Nevera'].includes('Sí'),
    jarronCristal: Array.isArray(respuestas['Jarrón de cristal']) && respuestas['Jarrón de cristal'].includes('Sí'),
    tablaPicar: Array.isArray(respuestas['Tabla de picar.']) && respuestas['Tabla de picar.'].includes('Sí'),
    grecaCafetera: Array.isArray(respuestas['Greca o cafetera']) && respuestas['Greca o cafetera'].includes('Sí'),
    setCocina: Array.isArray(respuestas['Set de cocina']) && respuestas['Set de cocina'].includes('Sí')
};

2. 优化填充代码(可选)

原代码重复的if-else可以用循环简化,减少冗余:

// 建立属性与PDF占位符的映射关系
const cocinaMapeo = [
    { clave: 'cafeteraElectrica', marcador: '{{CafeteraElectricacotejo}}' },
    { clave: 'licuadora', marcador: '{{Licuadoracotejo}}' },
    { clave: 'botellonAgua', marcador: '{{BotellonAguaCotejo}}' },
    { clave: 'cubiertos', marcador: '{{CubiertosCotejo}}' },
    { clave: 'microondas', marcador: '{{MicroondasCotejo}}' },
    { clave: 'nevera', marcador: '{{NeveraCotejo}}' },
    { clave: 'jarronCristal', marcador: '{{JarronCristalCotejo}}' },
    { clave: 'tablaPicar', marcador: '{{TablaPicarCotejo}}' },
    { clave: 'grecaCafetera', marcador: '{{GrecaCafeteraCotejo}}' },
    { clave: 'setCocina', marcador: '{{SetCocinaCotejo}}' }
];

// 循环处理所有复选框填充
cocinaMapeo.forEach(item => {
    const marca = pertenenciasCocinas[item.clave] ? '☑' : '☐';
    body.replaceText(item.marcador, marca);
});

额外检查项

  • 确认Google Forms中的选项文本与代码中respuestas的键完全一致,包括重音符号(如Jarrón)、标点(如Tabla de picar.末尾的点)和大小写。
  • 确认PDF模板中的占位符拼写与代码中的字符串完全匹配,避免大小写或字符遗漏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 21:05:46