在Google电子表格中,如何强制将行设置为特定高度?


72

在Google Doc 电子表格中,无论每个单元格中有多少文本,我都希望每行具有相同的高度

我已经尝试过“ 调整行的大小 ”,但是无论我放入多少像素,行都会向下扩展到具有完整扩展文本的最高单元格的高度。

如何强制行保持一定高度,并为所有超过该高度的文本插入滚动条?

替代文字

这是一段解释我的意思的视频:

http://screenr.com/Ol4


我找不到办法。我也希望看到对此的解决方案。
ale

可能有一种方法可以显示有限数量的内容,然后将其展开或使用自定义脚本在onclick框中打开。您与图像中显示的特定界面有多紧密联系?
丹·罗伯茨

我需要能够将“无尽的文本/图像”粘贴到小单元格中的解决方案,以便我可以放大并查看所有文本,如果需要的话,但可以随时备份并获得我所有的概述注释和代码。现在,我无法获得此概述,因为长文本和代码插入将所有内容扩展到了页面下方。
爱德华·坦格

我刚刚加入,所以我缺少代表点,所以不允许我对此user554370的解决方案进行投票,即添加大量文本作为注释。我不确定它是否可以解决OP的问题,但肯定可以帮助我,所以谢谢。

采取了自由投票!
Jacob Jan Tuinstra 2014年

Answers:


24

这个没有解决方案。这就是HTML的工作方式。他们使用表格作为单元格,默认情况下,如果文本不合适,则不添加滚动条。也许他们将来会更改它,但是我认为这不在他们的优先列表中。看起来您只能水平合并单元格,以防万一您想垂直合并以使其看起来更好。


5
我想知道为什么他们没有overflow:scroll在单元上实现这一点。
ale

6
@Lipis错误。这不是HTML的限制。一个简单的<div style =“ overflow:hidden; height:20px;”>这里的东西</ div>即可解决问题。
Levitikon 2012年

1
@Levitikon,但您能想象这么多滚动条有多丑吗?如果没有滚动条,您将看不到整个文本..您不得不猜测单击它或其他内容后,还有更多内容可以查看。.我不认为那是一个好的解决方案..
Lipis 2012年

3
@Lipis:因此,您有一个单元格{overflow:hidden} cell:hover {overflow:scroll},然后您只会看到鼠标悬停在该单元格上的滚动条。
RickMeasham

1
现在可以垂直合并单元格了。
鲁本2015年

22

我发现它可以在正在处理的行下添加另一行,然后将两行合并在一起

现在,如果将长文本粘贴到“双”行中的任何字段中,它将仅显示几行,从而保持工作表的整洁和可管理。如果双击该字段,则任何字段中的文本都会扩展供您阅读。

电子表格摘录示例,说明了所描述的行为

例如,当尝试对行进行重新排列或排序时,将出现不利方面,因为在此解决方案中行可以“按两倍”工作,但这也许不是一个大问题。


现在,这是一个切实可行的创造性解决方法!如果您不介意多余的空白行。好主意!一个警告:您不能在包含像这样的合并行的范围内启用过滤器。
JD史密斯

绝招!!!!!
voxter '18

20

右边的第四个选项(菜单栏-一旦进入包含结果的电子表格,等等)。有一个选项“ WRAP TEXT”,选择所需的行并单击它。

这为我整理了一下。打开自动换行并且所有行都达到单行高度后,我还可以选择所有行,并在调整行大小时调整所有行的大小,就像在Excel中一样。

**“换行文字”不在任何下拉菜单中,它是功能区下方的按钮(与水平和垂直对齐相同)。


2
这个答案比公认的答案有用得多!
freitass 2014年

24
@freitass:对于OP,这不是“更有用”。他的单元格中有很多断行的代码。关闭包装并不能解决他(或我)的问题,因为您最终只能使单元格与内容中的换行符一样长。它为段落文本的工作,虽然。但这不是OP的问题。
RickMeasham 2014年

4
尽管此答案可能会有所帮助,但它不能解决OP的问题。
鲁本2015年

如果文本中有换行符(例如歌词或诗歌),则此方法不起作用。
Wes

13

当单元格包含换行符时,“溢出”,“换行”和“剪辑”格式设置选项不会达到限制行高的预期效果。

要解决此问题,可以创建一个相邻的列,该列使用公式来去除换行符,然后隐藏原始列。这种方法保留了正确过滤和排序数据的能力。

这样的公式之一是:=arrayformula( iferror( SUBSTITUTE(A:A,char(10), " " ) ))。将其粘贴到相邻列的第1行(标题行)中,替换A:A为源列的标签。

隐藏原始列,然后将[overflow | wrap | clip]格式应用于新创建的列。

显示不想要的高行

显示大小合适的行以及启用该行的公式


8

如何使用笔记?

我的文字中也有换行符,我也想在一行中以某种方式显示-我最终要做的是将长文字添加到笔记中。这些行可以很多行,并在您浮动时显示-这与我正在寻找的功能有关。唯一剩下的问题实际上是笔记盒非常狭窄!

这是现在漂浮在单元格上的样子:

注释中带有换行符的数据(Google表格)

(我意识到这并不能完全解决OP所述的问题,但是目前尚无法实现Google表格中他们所要求的功能。)


1
非常棒的想法,并且在2018年仍然有意义,非常感谢!
Liran H '18

6

新的Google表格允许垂直合并单元格。这样做可以保持行高;当单元处于编辑模式时,将显示垂直滚动条。

说明-要垂直合并单元格,然后调整原始大小,您需要选择单元格+一个单元格,然后合并:

  1. 请勿使用CTRL键选择要合并的多个单元格,而应使用SHIFT +向下箭头键(也许这是Google表格中的一个错误,因为使用CTRL键选择相邻的单元格会使合并选项不可用)。

  2. 按下合并按钮(在菜单下也可用:格式>合并单元格>垂直合并)。


2

没有实际的方法,换行将影响单元格宽度而不是它的高度。每当它困扰我时,我将文本添加为​​注释块。只需右键单击相关单元格,然后从上下文菜单中选择“注释”即可;删除自动生成的文本并粘贴。这样,您将能够为所有行保持固定的行高。


2

我可以通过两种方式实现这一目标:

  • 关闭行中每个单元格的自动换行(正如每个人都已经提到的那样)
  • 用1000个空格替换文本中的所有换行符(1000个空格将显示为换行符)
  • 用4个空格替换文本中的所有选项卡(这4个空格将显示为选项卡)

我写了一个脚本,可以从“工具”->“脚本编辑器”运行:

function myFunction() {

  var r=SpreadsheetApp.getActiveSheet().getDataRange();
  var rws=r.getNumRows();
  var cls=r.getNumColumns();
  var i,j,a,find,repl;
  find="\n";
  repl="                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ";
  for (i=1;i<=rws;i++) {
    for (j=1;j<=cls;j++) {
      a=r.getCell(i, j).getValue();
      if (r.getCell(i,j).getFormula()) {continue;}
      try {
        a=a.replace(find,repl);
        r.getCell(i, j).setValue(a);
      }
      catch (err) {continue;}
    }
  }
}

这看起来像崩溃了: 在此处输入图片说明

这是双击单元格并使用垂直滚动条展开时的样子: 在此处输入图片说明


1

我同意,到目前为止这是不可能的,但是您是否尝试过使用诸如NBSP之类的其他十六进制字符作为文本?这会让事情变得很丑陋,并且失去格式,我注意到没有回车符,条目的长度与高度无关。

编辑:您还应该在这里提交您的(非常好的想法)


1

首先,从工作表中删除所有过滤器(如果有)。然后,只需在脚本编辑器中添加此脚本并运行即可。

function myFunction() {
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var sheet = ss.getActiveSheet();
   var maxRows = sheet.getMaxRows(); 
   //Logger.log(maxRows);
   for (var i=2; i<=maxRows;)
   {
     sheet.insertRowAfter(i);
     range = 'A'+ i.toString() + ':Z' + (i+1).toString();
     sheet.getRange(range).mergeVertically();
     //sheet.setRowHeight(i+1, 1);
     i += 2;
   }
}

注意:如果您也想调整行的大小,请取消注释第二行。



0

简单。选择电子表格中的所有单元格,然后取消选择“ WRAP TEXT”按钮。请参阅以下屏幕快照中突出显示的按钮。每行和每列将恢复为相同的大小。

在此处输入图片说明


6
仅在文本被换行时才有效。如果文本有回车符或换行符(问题中发帖的文本也是如此),则该按钮不起作用。
zeh 2014年

1
这帮助我解决了类似的问题,行高无法正常工作。还请注意,最新的Google文档(2014年末发布)中的图标略有不同。
meklarian 2015年

0

这与您从其他地方复制和粘贴的事实有关。如果要粘贴,请先将材料复制到记事本,然后清除所有不需要的空间。然后粘贴到Google Spreadsheet中。然后包装纸将正常工作。


0

自动换行对我有用。原因如下:在展开特定行的包装后,我注意到有一列有人大幅减小了宽度。哪一个字符都不能完全适合该列(但该列中有几行文字),这导致该行的高度大大增加。由于列太小,因此看不到任何文本,即使在调整大小后,行高也不会改变。展开后,所需要做的就是更改列宽并再次包装行。


-2

右边的第四个选项(菜单栏-一旦进入包含结果的电子表格,等等)。有一个选项“ WRAP TEXT”,选择所需的行并单击它。


3
这如何回答这个问题?
Vidar S. Ramdal 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.