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

Google Sheets脚本修改:替换逗号并生成双CSV文件

Google Sheets CSV导出脚本修改方案

完整修改后的脚本

function exportTwoCSVs() {
  // 获取当前工作表
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // 定义要导出的单元格范围(可根据需求修改)
  const range = sheet.getDataRange();
  const values = range.getValues();

  // 处理数据:将所有逗号替换为#
  const processedValues = values.map(row => 
    row.map(cell => {
      // 确保单元格值是字符串,避免数字等类型报错
      return typeof cell === 'string' ? cell.replace(/,/g, '#') : cell;
    })
  );

  // 转换为CSV格式字符串
  const csvContent = processedValues.map(row => 
    row.map(cell => `"${cell}"`).join(',')
  ).join('\n');

  // 获取工作表所在的目录
  const parentFolder = DriveApp.getFileById(sheet.getParent().getId()).getParents().next();

  // 生成第一个CSV文件(可自定义文件名)
  const fileName1 = "导出数据_版本1.csv";
  parentFolder.createFile(fileName1, csvContent, MimeType.CSV);

  // 生成第二个CSV文件(可自定义文件名)
  const fileName2 = "导出数据_版本2.csv";
  parentFolder.createFile(fileName2, csvContent, MimeType.CSV);

  // 提示导出完成
  SpreadsheetApp.getUi().alert("两个CSV文件已成功导出至工作表所在目录!");
}

关键修改说明

  • 替换单元格内逗号为#:通过双层map遍历所有单元格值,使用replace(/,/g, '#')全局替换字符串中的逗号为#,同时判断单元格类型,避免非字符串值(如数字、日期)出现报错。
  • 生成两个不同命名的CSV:直接定义两个不同的文件名(fileName1和fileName2),调用createFile方法分别生成文件。如果需要第二个文件使用不同的数据范围或处理规则,可单独调整对应的数据处理逻辑。

使用提示

将上述脚本替换原有的导出脚本后,重新绑定工作表按钮到exportTwoCSVs函数即可,点击按钮就能生成两个指定名称的CSV文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:00:51