Google表格合并的单元格创建空间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google表格合并的单元格创建空间相关的知识,希望对你有一定的参考价值。

我得到了一个包含合并单元格的工作表,在这些合并的单元格中,脚本编写了结果。

当我在合并的单元格中复制此结果时,它在末尾给了我多个空格。像:Result #1________(«_»代表不可见空间)

当我将相同结果放入普通单元格(未合并)时,它不会在末尾放置任何空格。Result #1

我尝试了多种单元格格式(居中对齐,左对齐等),但没有任何变化。

你知道为什么吗?

谢谢!

编辑:添加脚本

脚本

function Devise() {
  const sheetName = "Missions";
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  var Devise = "";
  var NombreMission = "";
  var NomOperateurs = "";

  if(sheet.getRange("H2").getValue()=="") { // Si la mission 7 est vide
    NombreMission = 6; // On compte seulement 6 missions
  } else {
    NombreMission = 7; // Sinon on compte 7 missions
  }


  for (i = 1; i < NombreMission+1; i++) {    // Boucle FOR pour NombreMission missions
    if(sheet.getRange(2,i+1).getValue()=="") { continue; } // Si la mission est vide, on la passe
    Devise = Devise + i + "/";
    l = 0;    // Variable pour indiquer "Rien" si personne à placer dans la mission
    NomOperateurs = ""; // Reset les noms pour la mission d'après

    for (j = 1; j < 27+1; j++) {   // Boucle FOR pour tous les opérateurs
      if(sheet.getRange(j+2,i+1).getFontWeight() == 'bold') {     // Vérifie si la case est en gras

        /*if(i!=NombreMission) {  // Tant qu'il ne s'agit pas de la dernière mission ...
          Devise = Devise + sheet.getRange(j+2,1).getValue() + " "; // ... on affiche les opérateurs
        }*/

        NomOperateurs = NomOperateurs + sheet.getRange(j+2,1).getValue() + " ";
        l = l + 1;  // On compte les opérateurs
      }
    }  // Fin Boucle FOR opérateurs

    if (l==24) {                              // S'il y a tous les operateurs sur une mission...
      Devise = Devise + "ALL OPs! "            // ... On affiche "All Op!"
    } else if (i==NombreMission && l!=0) {    // Sinon s'il s'agit de la dernière mission et qu'il reste des opérateurs à placer...
      Devise = Devise + "Autres + Epic ";     // ... On indique qu'il s'agit du reste et des épiques
    } else if (l==0) {                        // Sinon s'il n'y a aucun opérateurs à placer...
      Devise = Devise + "RIEN "               // ... On indique "RIEN"
    } else {                                  // Sinon ... 
      Devise = Devise + NomOperateurs;        // ... On affiche les opérateurs
    }



  }  // FIN BOUCLE FOR NombreMission
  if(NombreMission==6 && Devise!="") { Devise = Devise + "7/!NOTHING!";}
  sheet.getRange("K13").setValue(Devise);
}
答案

您的问题与复制的数据复制的方式有关,因为在合并的单元格中粘贴文本不会创建任何新行。

此外,要记住的重要一点是CTRL+ENTER创建了所提及的空间,也称为换行符

因此,例如,如果此单元格包含文本Text + line break

cell with text with line break

然后将上述单元格中的文本复制并粘贴到合并的单元格中,它看起来像这样-与您提到的结果相同:

merged cell with text with line break

但是如果将相同的文本粘贴到简单单元格,它将看起来像这样:

cell with text in it

这主要是因为换行符将表示新单元格的开始。

例如,此单元格包含带换行符的文本:

![cell with text with multiple line breaks

将文本复制并粘贴到其他单元格后,实际上是这样将其粘贴为:

text with multiple line breaks in cells

为了解决您的问题,建议您仅复制所需的文本,并尽可能避免使用任何换行符

参考

以上是关于Google表格合并的单元格创建空间的主要内容,如果未能解决你的问题,请参考以下文章

在使用openXML生成word文档时,试图合并表格单元格。

如何使用 Google 表格中的格式水平合并单元格/列?

java poi xwpf操作word生成一个表格怎么合并单元格,求大神指导!

table边框表头单元格空间合并等设置

c#导出EXCEL合并单元格代码

怎么用代码合并单元格?