背景:我正在尝试从Google表格上传单个数据行,并将其附加到BigQuery表中。
方法:我一直在使用https://developers.google.com/apps-script/advanced/bigquery来执行此操作,但是我没有使用数据文件(例如示例),而是将自己的工作表与来自具体行:
var file = SpreadsheetApp.getActiveSpreadsheet();
var currentSheet = file.getSheetByName(name);
var lastRow = currentSheet.getLastRow()
var lastC = currentSheet.getLastColumn()
var rows = currentSheet.getRange(2,1,1,lastC).getValues();
Run Code Online (Sandbox Code Playgroud)
“行”是要导入到BQ的数据行。我尝试了很多事情,根据另一个StackOverflow问题,“ rowsCSV”将2D值数组变成CSV。
var rowsCSV = rows.join("\n");
var data = rowsCSV.getBlob().setContentType('application/octet-stream');
Run Code Online (Sandbox Code Playgroud)
问题:每次运行该函数时,都会出现错误“无法在对象Blob中找到函数getBlob。”或“无法将数组转换为(class)[] []”或“无法在对象Tue中找到函数getBlob 5月16日,星期二” 2017 00:00:00 GMT + 0200(CEST),58072.4,,``,,,,,,,, test“,其中最后一位(” Tue May ..“)是该行的实际数据。
我在这里做错了什么?
有人在mrexcel上发布了一个问题,询问如何用新的替换现有工作簿中的模块:https ://www.mrexcel.com/forum/excel-questions/760732-vba-automatically-replace-modules-several-workbooks.html
他们在其他支持下回答了他们的问题,如下所示:
Sub Update_Workbooks()
'This macro requires that a reference to Microsoft Scripting Routine
'be selected under Tools\References in order for it to work.
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim fso As New FileSystemObject
Dim source As Scripting.Folder
Dim wbFile As Scripting.File
Dim book As Excel.Workbook
Dim sheet As Excel.Worksheet
Dim Filename As String
Dim ModuleFile As String
Dim Element As Object
Set source = fso.GetFolder("C:\Users\Desktop\Testing") 'we will know this since all of the files will be …Run Code Online (Sandbox Code Playgroud)