*GAS*从谷歌表单中的字符串数组创建标题
*GAS* Create headers from an array of strings in google sheets
我正试图用GAS在Google Sheets中创建两个标题。
我想从A1开始向每个单元格写入数组"values"中的第一个字符串,然后转到单元格B1,再写入数组"value"中的第二个字符串。依此类推,这取决于数组"值"的大小。
我做错了什么?
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]);
}
}
也许我误解了你想做的事情,但看起来你已经克服了复杂的事情。如果您只设置头,那么您知道values数组中只有1个数组,这意味着您可以取消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);
}
相关文章:
- 将JSON转换为typescript中的字符串数组
- 在Javascript中将一个值和字符串数组转换为if语句
- 如何将正则表达式包含到字符串数组中
- JavaScript:将字符串数组转换为文本区域
- Knockout中的字符串数组
- 拆分字符串数组(JavaScript)后未定义
- 使用Javascript获取两个字符串之间的字符串数组
- 打印从Spring MVC Controller发送的字符串数组只显示“;toJSON”;在javascript中
- 将一个字符串数组解析为一个新的数组javascript
- AngularJS - 从字符串数组中连续更改文本
- 使用字符串数组中的字符填充 HTML 表
- 如何在 Javascript 中将字符串数组列表插入到表行中
- 创建二维字符串数组
- 如何从字符串数组中获取子字符串数组
- 如何将字符串数组转换为简单数组
- 按字母顺序、数字顺序和特殊字符对字符串数组进行排序
- 如何从字符串数组中获得8个随机唯一元素
- json_encode($myVar);正在给出地图,我想要一个字符串数组
- 函数,返回javascript中两个字符串数组的差值
- Javascript字符串数组转换为用逗号分隔的多个字符串