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

如何使用Google Apps Script将Google Sheets导出为|分隔的CSV文件

管道分隔符CSV导出实现方案

问题根因

你当前配置的pasteDataRequest.delimiter是粘贴外部数据到Google Sheets时识别内容拆分的参数,和CSV导出的输出分隔符逻辑完全无关,因此不会生效。

可用实现代码

直接手动遍历表格内容拼接即可,内置了特殊字符转义逻辑,避免内容包含|、引号、换行时格式错乱:

function exportPipeDelimitedCSV() {
  const activeSheet = SpreadsheetApp.getActiveSheet();
  // 读取整张表的有效数据
  const sheetData = activeSheet.getDataRange().getValues();
  
  // 逐行逐单元格处理内容,用|拼接
  const outputContent = sheetData.map(row => {
    return row.map(cell => {
      const cellStr = String(cell);
      // 特殊内容用双引号包裹,内容内的双引号转义为两个双引号
      if (cellStr.includes('|') || cellStr.includes('"') || cellStr.includes('\n')) {
        return `"${cellStr.replace(/"/g, '""')}"`;
      }
      return cellStr;
    }).join('|');
  }).join('\n');

  // 方式1:导出文件到Google Drive
  DriveApp.createFile(`${activeSheet.getName()}_管道分隔.csv`, outputContent, MimeType.CSV);

  // 方式2:如果需要弹窗获取下载链接,取消注释下方代码
  // const exportFile = DriveApp.createFile(`${activeSheet.getName()}_管道分隔.csv`, outputContent, MimeType.CSV);
  // SpreadsheetApp.getUi().alert(`导出完成,文件链接:${exportFile.getUrl()}`);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 06:24:04