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

如何通过Google Apps Script将生成的Google Doc保存为XML文件?

可行,直接生成XML文件即可

不需要依赖Google Doc模板绕弯子,直接用表格数据构建XML内容,再保存为XML文件到指定Drive文件夹就行。修改后的代码如下:

function createSpreadsheetChangeTrigger() {
    var ss = SpreadsheetApp.getActive();
    ScriptApp.newTrigger('createNewGoogleDocs')
      .forSpreadsheet(ss)
      .onChange()
      .create();
} 

function createNewGoogleDocs() {
  const destinationFolder = DriveApp.getFolderById('1fNTFsBfjifUzdkkEfEN-r6ThrJtcQrQQ');
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet');
  const rows = sheet.getDataRange().getValues();

  rows.forEach(function(row, index){
    // 跳过表头行(保持你原有的判断逻辑)
    if (index === 2) return;
    // 已生成过文件的行直接跳过
    if (row[30]) return;

    // 处理日期格式
    const friendlyDate = new Date(row[3]).toLocaleDateString();

    // 构建XML内容,可根据业务需求调整标签结构
    const xmlContent = `<?xml version="1.0" encoding="UTF-8"?>
<TaxDocument>
  <CityCode>${row[2]}</CityCode>
  <TaxReturnYear>${friendlyDate}</TaxReturnYear>
  <NIFOfTaxpayerA>${row[4]}</NIFOfTaxpayerA>
  <DegreeOfDisability>${row[5]}</DegreeOfDisability>
  <IfDisabledFromArmedForcesActivity>${row[6]}</IfDisabledFromArmedForcesActivity>
</TaxDocument>`;

    // 创建XML文件,指定文件名与合法MIME类型
    const xmlFile = destinationFolder.createFile(`${row[0]}, ${row[1]}.xml`, xmlContent, MimeType.XML);
    // 获取XML文件的访问链接
    const url = xmlFile.getUrl();
    // 更新表格对应单元格的链接记录
    sheet.getRange(index + 1, 31).setValue(url);
  });
}

关键修改说明:

  • 移除了所有Google Doc相关操作,直接通过字符串拼接生成符合格式的XML内容
  • 使用DriveApp.createFile()直接生成XML文件,第三个参数指定MimeType.XML确保文件类型正确识别
  • 可根据实际业务需求自由调整XML的标签结构、嵌套层级或属性,只要保证XML语法合法即可
  • 保留了你原有的日期处理逻辑,若需要特定格式可自行修改toLocaleDateString()的参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 12:47:12