Google apps script Google应用程序脚本将Excel文件的公式转换为#Ref
我正在尝试从Gmail导入Excel文件,并将其自动转换为Google电子表格。我在使用Google Api文件转换器时遇到了一个问题,即公式被转换为#REF值,而我无法获得Excel文件中显示的原始值 外部方在Excel文件中用于该数据的公式示例 =VLOOKUP(A4;'G:\Some local path\file.xlsx'!$A:$D;4;FALSE) 我正在使用以下代码将Excel文件转换为Google电子表格: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
// 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上载文件,您的脚本应该包括它自己处理不受支持的公式/功能的方法 相关问答
#REF
。解决方法是在上传文件进行转换之前,在实际文件中删除该公式。当我在Excel中打开文件时,它将显示发件人计算的“初始”值。因此,这些数据必须以某种方式存储到Exel文件中。听起来您需要编写一个导出宏,以便在上传客户机工作表之前从/在客户机工作表上运行。您仍然需要检查您获得的文档中的ref,因为它会被利用,或者在某个时候会忘记预导出步骤