在我的计算机上打开的Google脚本和Excel文件(来自G-Spreadsheet)

时间:2017-08-19 12:22:08

标签: google-apps-script google-sheets google-api google-spreadsheet-api

我正在寻找一个可以从Google电子表格中运行的脚本,该脚本将打开位于我计算机上的特定Excel文件。

有可能吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您想通过点击特定Google电子表格中的按钮来执行脚本,并不完全确定从Google电子表格运行的含义,那是可能的。请参阅Google的文档:https://developers.google.com/apps-script/guides/menus

据我所知,访问本地文件是不可能的,因为GAS是基于cloud的服务,因此它无法连接到您的个人计算机。我的解决方案是将特定的Excel文件添加到您的Google云端硬盘中。当这些文件位于您的Google云端硬盘文件夹中时,任何Google App脚本都可以访问它们。

修改

您可以使用Google电子表格打开Excel文件(仅当文件位于您的驱动器中时)。用鼠标右键单击,您可以选择打开> Google Spreadsheets,这会将您的Excel文件副本创建为Google电子表格。如果打开复制URL,如果写了一个简单的脚本,你可以开始,这对我来说很好:



function myFunction() {
  var ss = SpreadsheetApp.openByUrl("url");
  var sheets = ss.getSheets();
  for(var i =  0; i < sheets.length; i++){
    var range  = sheets[i].getRange(1, 1, sheets[i].getLastRow(), sheets[i].getLastColumn());
    var values = range.getValues();
    for(var j = 0; j < sheets[i].getLastRow(); j++){
      Logger.log(values[j][0].toString());
    }
  }  
}
&#13;
&#13;
&#13;

此代码循环遍历电子表格中的所有工作表(外部for循环)并获取每个工作表的范围,它将此范围转换为值并记录每行(内部for循环)的第一列中的每个值。

您可以将此脚本附加到电子表格中的按钮,如Google文档中所述。希望这会回答你的问题,祝你好运!