Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google应用程序脚本将Excel文件的公式转换为#Ref_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script Google应用程序脚本将Excel文件的公式转换为#Ref

Google apps script Google应用程序脚本将Excel文件的公式转换为#Ref,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在尝试从Gmail导入Excel文件,并将其自动转换为Google电子表格。我在使用Google Api文件转换器时遇到了一个问题,即公式被转换为#REF值,而我无法获得Excel文件中显示的原始值 外部方在Excel文件中用于该数据的公式示例 =VLOOKUP(A4;'G:\Some local path\file.xlsx'!$A:$D;4;FALSE) 我正在使用以下代码将Excel文件转换为Google电子表格: // Re-upload the XLS file after

我正在尝试从Gmail导入Excel文件,并将其自动转换为Google电子表格。我在使用Google Api文件转换器时遇到了一个问题,即公式被转换为#REF值,而我无法获得Excel文件中显示的原始值

外部方在Excel文件中用于该数据的公式示例

=VLOOKUP(A4;'G:\Some local path\file.xlsx'!$A:$D;4;FALSE)

我正在使用以下代码将Excel文件转换为Google电子表格:

  // Re-upload the XLS file after convert in Google Sheet format
  var googleSheet = UrlFetchApp.fetch(
    "https://www.googleapis.com/upload/drive/v2/files?uploadType=media&convert=true", {
      method: "POST",
      contentType: "application/vnd.ms-excel",
      payload: sourceFile.getBlob().getBytes(),
      headers: {
        "Authorization": "Bearer " + ScriptApp.getOAuthToken()
      }
    }
  );

  // Parse upload&convert response data (need this to be able to get id of converted sheet)
  var fileDataResponse = JSON.parse(googleSheet.getContentText());
  SpreadsheetApp.openById(fileDataResponse.id);
打开创建/转换的电子表格时,单元格中的所有值显示为#REF!(见下文)


如何确保Google API将源代码转换/复制为值,并且不显示公式#REF!错误?

并非所有Excel和Google工作表都是相同的。Google Drive/Google Sheet内置的导入功能已经有了处理不受支持函数的方法,但是由于您的代码使用UrlFetchApp上载文件,您的脚本应该包括它自己处理不受支持的公式/功能的方法

相关问答


那么,您认为该公式(其中包含对谷歌无效且未知的引用)的评估结果如何?我怀疑,如果您在没有访问G驱动器的情况下使用Excel从计算机打开Excel表,它会将公式标记为
#REF
。解决方法是在上传文件进行转换之前,在实际文件中删除该公式。当我在Excel中打开文件时,它将显示发件人计算的“初始”值。因此,这些数据必须以某种方式存储到Exel文件中。听起来您需要编写一个导出宏,以便在上传客户机工作表之前从/在客户机工作表上运行。您仍然需要检查您获得的文档中的ref,因为它会被利用,或者在某个时候会忘记预导出步骤