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

技术求助:将谷歌表格发布的CSV链接转UTF-16 TXT并生成下载链接

别担心,我来帮你一步步搞定这个问题!你优先考虑用Google Script,那咱们先从这个方案说起,之后再给你补一个前端JavaScript的备选方案~

方案一:使用Google Apps Script实现

这个方案可以直接在你的Google表格生态里完成转换,还能把生成的文件存到Drive并获取下载链接。

步骤1:创建Google Apps Script项目

  • 打开你的目标Google表格,点击顶部菜单栏的「扩展程序」→「Apps Script」,进入脚本编辑器。
  • 删除默认的myFunction()代码,替换成下面的完整脚本。

步骤2:编写转换与生成链接的脚本

function convertCSVtoUTF16TXTAndGetLink() {
  // 👇把这里替换成你自己的Google表格发布CSV链接
  const csvUrl = "你的CSV发布链接";
  
  try {
    // 1. 从链接获取UTF-8编码的CSV内容
    const response = UrlFetchApp.fetch(csvUrl);
    const csvContent = response.getContentText();
    
    // 2. 将内容转换为UTF-16编码的TXT文件Blob
    const txtBlob = Utilities.newBlob(csvContent, "text/plain", "转换后的文件.txt")
      .setCharset("UTF-16");
    
    // 3. 把Blob保存到Google Drive(默认存到根目录,可自行指定文件夹)
    const savedFile = DriveApp.createFile(txtBlob);
    // 设置文件为「任何人可通过链接查看」,确保下载链接能正常访问
    savedFile.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
    
    // 4. 获取并输出下载链接
    const downloadUrl = savedFile.getDownloadUrl();
    console.log("转换完成!下载链接:" + downloadUrl);
    // 给表格弹出提示,方便快速知道结果
    SpreadsheetApp.getActiveSpreadsheet().toast("转换成功!链接已输出到日志", "提示", 5);
    
    return downloadUrl;
  } catch (error) {
    console.error("转换出错:" + error.message);
    SpreadsheetApp.getActiveSpreadsheet().toast("转换失败:" + error.message, "错误", 5);
    return null;
  }
}

步骤3:运行脚本并授权

  • 点击脚本编辑器顶部的「运行」按钮,首次运行会触发权限授权,按照页面提示完成授权(需要允许脚本访问你的Drive和表格)。
  • 运行完成后,点击「查看」→「日志」就能看到生成的下载链接了。
方案二:前端JavaScript备选方案(无需Google服务)

如果不想用Google Script,也可以用纯前端代码在浏览器里完成转换和下载,不需要后端支持:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>CSV转UTF-16 TXT下载工具</title>
</head>
<body>
  <button onclick="convertAndDownload()">点击转换并下载</button>

  <script>
    async function convertAndDownload() {
      // 👇替换成你的CSV发布链接
      const csvUrl = "你的CSV发布链接";
      
      try {
        // 1. 获取CSV内容
        const response = await fetch(csvUrl);
        const csvContent = await response.text();
        
        // 2. 将UTF-8字符串转换为UTF-16编码的二进制数据
        const encoder = new TextEncoder("utf-16");
        const arrayBuffer = encoder.encode(csvContent);
        
        // 3. 创建TXT文件Blob并生成下载链接
        const blob = new Blob([arrayBuffer], { type: "text/plain;charset=UTF-16" });
        const downloadLink = document.createElement("a");
        downloadLink.href = URL.createObjectURL(blob);
        downloadLink.download = "转换后的文件.txt";
        
        // 触发浏览器下载
        downloadLink.click();
        URL.revokeObjectURL(downloadLink.href); // 释放浏览器资源
      } catch (error) {
        alert("转换出错啦:" + error.message);
      }
    }
  </script>
</body>
</html>

使用说明:

  • 把这段代码保存成.html文件,用浏览器打开;
  • 替换代码里的csvUrl为你的CSV发布链接;
  • 点击按钮就能直接在浏览器里完成转换并下载TXT文件。
  • 注意:如果你的CSV链接存在跨域限制,这个方案可能无法正常工作,此时Google Script方案会更可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:20:52