Javascript *GAS*从google表单中的字符串数组创建标题
我试图用GAS在Google表单中创建两个标题 我想从A1开始写入每个单元格,在数组“values”中写入第一个字符串,然后转到单元格B1,在数组“values”中写入第二个字符串。依此类推,具体取决于数组“值”的大小 我做错了什么Javascript *GAS*从google表单中的字符串数组创建标题,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我试图用GAS在Google表单中创建两个标题 我想从A1开始写入每个单元格,在数组“values”中写入第一个字符串,然后转到单元格B1,在数组“values”中写入第二个字符串。依此类推,具体取决于数组“值”的大小 我做错了什么 function formatSheet(){ var name = "Formatted Sheet"; var values = [["Description", "Quantity"]]; ss.setActiveSheet(ss.g
function formatSheet(){
var name = "Formatted Sheet";
var values = [["Description", "Quantity"]];
ss.setActiveSheet(ss.getSheets()[0]);
ss.renameActiveSheet(name);
createHeaders(name,values);
}
function createHeaders(name,values){
var sheet = ss.getSheetByName(name);
for(var i = 1; i < values.length; ++i){
for(j=0; j<values.length; ++j){
//create the headers
sheet.getRange(1, i).setValues(values[j]);
}
}
函数格式表(){
var name=“格式化的工作表”;
var值=[“说明”,“数量”];
ss.setActiveSheet(ss.getSheets()[0]);
ss.重命名活动表(名称);
createHeaders(名称、值);
}
函数createHeaders(名称、值){
var sheet=ss.getSheetByName(名称);
对于(变量i=1;i for(j=0;j也许我误解了您的意图,但看起来您的操作过于复杂。如果您只设置了标题,那么您知道值数组中只有一个数组-这意味着您可以取消for循环,只获取其中第一个数组的长度。请参阅我的示例:
function formatSheet(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var name = "Format2";
var values = [["Description", "Quantity"]];
ss.setActiveSheet(ss.getSheets()[0]);
ss.renameActiveSheet(name);
var sheet = ss.getSheetByName(name);
var cols = values[0].length;
sheet.getRange(1, 1, 1, cols).setValues(values);
}
了解您遇到的错误也会很有帮助。修改了Jens Astrup的解决方案,将标题插入到当前活动的电子表格中
function SetHeadersToActiveSheet(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var values = [["Description", "Quantity", "Amount"]];
var cols = values[0].length;
sheet.getRange(1, 1, 1,cols).setValues(values);
}
谢谢!你的想法很有帮助。我把它复杂化了。这就成功了,谢谢。我没有收到错误,也没有因为任何原因调试器没有启动该函数。我没有得到任何我知道的东西。请在代码中添加一些描述。