自动调整电子表格列

时间:2012-09-12 05:46:05

标签: google-apps-script google-sheets

我没有看到文档中的任何内容会让我觉得这是一个受支持的功能。我正在写几张纸并且在视觉上很难看到所有数据而没有突出显示所有列并使用我的鼠标进行自动调整。我每次运行脚本时都不必这样做。

有没有办法以编程方式使用app脚本?我看到了setColumnWidth的选项,但是当文本因列而异时,我怎么知道设置列的宽度。

==感谢您的帮助。

5 个答案:

答案 0 :(得分:7)

autoResizeColumn(columnPosition)

有关详细信息,请参阅the API

答案 1 :(得分:0)

现在无法从GAS自动调整电子表格列宽度。问题跟踪器中有一个topic。请为此主题加以演示 谷歌很多人都需要这个功能。

答案 2 :(得分:0)

现在有一种名为autoResizeColumn(columnPosition)

的新方法
var s = SpreadsheetApp.getActive().getActiveSheet();
s.autoResizeColumn(6);

自动调整第6列(a.k.a列" F")。

请参阅此stackoverflow答案   https://stackoverflow.com/a/29930315/8458041

还可以同时执行多个列:autoResizeColumns(startColumn, numColumns)

var s = SpreadsheetApp.getActive().getActiveSheet();        
s.autoResizeColumns(6, 3);

自动调整第6,7和8列。

多行的相应自动调整方法是

s.autoResizeColumns(6, 3);

要自动调整单行,请使用

summary.autoResizeColumns(row, 1);

答案 3 :(得分:0)

当尝试遍历指定数量的列并根据列中文本的宽度自动调整大小时,我发现这可行:

 for (var i = 1; i < 9; i ++){ sheet.autoResizeColumn(i);}

答案 4 :(得分:-1)

如果禁用包围您范围内的单元格,则可以达到预期的效果。

这是一个适合我的片段:

var dataRange = sheet.getRange(1,1,data.length,headers.length);
dataRange.setValues(data);
dataRange.setWrap(false);

Goolge Apps文档: Range.setWrap