【问题标题】:Open String CSV data in Google Sheets在 Google 表格中打开字符串 CSV 数据
【发布时间】:2020-06-17 23:08:13
【问题描述】:

因此,我目前在我的 JavaScript 代码中将一些 CSV 格式的数据作为字符串作为 chrome 扩展的一部分。我需要的是一个按钮,单击该按钮将打开一个新选项卡,其中包含作为 Google 表格文档加载的 CSV 数据。基本上是一个“在 Google 表格中打开”按钮。打开的 Google 表格文档最好不要存储在已登录用户的驱动器(或任何驱动器)中,而只需打开一个新选项卡并打开 CSV 文件即可。

$("#opnWithSheetsBtn").click((e)=>{
    myCSV = $("#userInput").value()
    // Code which will open CSV data in new tab using Google Sheets
})

TLDR:我想在前端应用程序中创建一个“使用 Google 表格打开”按钮。

【问题讨论】:

  • 是的。我对 Google Drive API 不太熟悉,我不确定是否应该使用 Sheets 或 Drive API。我也希望 .CSV 文件不要存储在用户驱动器中,而只是在 Google 表格中打开,如果可能的话,用户甚至不必登录到 Google 帐户,只需查看在新文件中打开的数据标签。我想基本上使用谷歌表格网站向用户显示数据。
  • 请改进您的问题,以明确您的 html 是在网站上而不是网络应用程序上。也许提供一个示例,说明您的代码是什么样的以及您要完成的工作。
  • 我添加了一些代码@Cooper
  • 那么,如果您不希望用户将工作表存储在他的云端硬盘中,您打算将其存储在哪里?在您/您的应用程序驱动器上,然后将其公开?
  • 最好的情况是它只是在 Google 表格中打开而不存储在任何人的驱动器中(允许没有 Google 帐户的用户查看 Google 表格)。但是,如果不将其存储在驱动器中是不可能的,那么我希望将其存储在用户驱动器中。

标签: javascript google-apps-script google-sheets google-chrome-extension google-sheets-api


【解决方案1】:

解决方案

考虑到您分享的信息,我的假设如下:您已将 CSV 数据转换为 Javascript 对象并进行字符串化。如果我错了,请纠正我。

如果我的假设是正确的,那么,在 HTML 按钮上单击,您将需要运行下面提供的函数。为了能够在 Apps Scrip 中运行它,您必须转到 Resources->Advanced Google Services 并激活 Sheets API 服务(因为我们将使用它的方法 batchUpdate)。

与使用 vanilla Apps 脚本相比,此 Sheet API 函数将赋予我们更高的效率。

function insertCSVinNewSheet(data){

  // Use create to create a new Spreadsheet and get its first sheet. 
  var sheetId = SpreadsheetApp.create('newSpreadSheet').getSheets()[0].getSheetId();
  var spreadsheetId = SpreadsheetApp.getActiveSpreadsheet().getId();
  // Create the resource to update your sheet
  var resource = {
    requests: [
      {
        pasteData: {
          data: data,
          coordinate: { sheetId: sheetId },
          delimiter: ","
        }
      }
    ]
  };
  
  // Use the Sheet API to make a batch update in the new sheet inserting all our data
  Sheets.Spreadsheets.batchUpdate(resource, spreadsheetId);
}

我希望这对您有所帮助。让我知道您是否需要其他任何内容或者您是否不理解某些内容。 :)

【讨论】:

    猜你喜欢
    • 2011-08-08
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    相关资源
    最近更新 更多