css 我怎样才能使这个循环在html文件中的应用程序脚本工作只有每一行,而不是单元格?

wbgh16ku  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(90)

工作表/应用程序脚本代码我的工作:
https://docs.google.com/spreadsheets/d/117Qv89zyKjlUqR_IAb_GJxdJwo64xZ9yiPOTm73baUU/edit#gid=0
https://script.google.com/u/0/home/projects/1g3RRz1kK6CM4PoW55A_O1Fzo-llbUq0M61WNiuKaftFIGRYYrf89vDF1/edit
我正在循环将给定范围内的所有行放入HTML表中,然后放入电子邮件中。我以前只使用应用程序脚本完成过此操作,但现在我厌倦了学习严格从HTML文件开始工作,因为它更干净、更可读。我将此应用程序脚本循环:

for (var i = 0; i < data.length; i++) {
    cells = data[i];
    table = table + "<tr>";
    for (var u = 0; u < cells.length; u++) {
      table = table + `<td style="background-color:${backgrounds[i][u]};height:40px;width:100px;text-align:center;font-family:Oswald">` + cells[u] + "</td>";
    }
  }

转换成这个HTML

<tbody>
        
          <? for (var i = 0; i < tableRangeValues.length; i++){
            
            cells = tableRangeValues[i];
            for (var u = 0; u < cells.length; u++) {
          
          ?> 
          <!-- each td is a column -->
          <tr> 
            <td style= "background-color:<?= backgrounds[i][u]?>;height:40px;width:100px;text-align:center;font-family:Oswald"><?= cells[0] ?></td>
            <td style= "background-color:<?= backgrounds[i][u]?>;height:40px;width:100px;text-align:center;font-family:Oswald"><?= cells[1] ?></td>
            <td style= "background-color:<?= backgrounds[i][u]?>;height:40px;width:100px;text-align:center;font-family:Oswald"><?= cells[2] ?></td>
            <td style= "background-color:<?= backgrounds[i][u]?>;height:40px;width:100px;text-align:center;font-family:Oswald"><?= cells[3] ?></td>
          </tr>
          
          <?} } ?>

        
      </tbody>

问题在于对于(varu = 0;u〈细胞长度;u++),因为该行有4个单元格,这就解释了为什么每行在执行时重复4次。像我提到的应用程序脚本中的相同代码没有重复返回行,所以我假设这是一个语法错误,我在html上做了。
我只想让循环给予一次行,这是我一直在使用之前,它的工作很好,除了它不返回谷歌工作表上的单元格颜色在表中返回的HTML在电子邮件中。

<tbody>
        
          <? for (var i = 0; i < tableRangeValues.length; i++) {row = tableRangeValues[i];?> 
          <tr>
            <td><?= row[0] ?></td>
            <td><?= row[1] ?></td>
            <td><?= row[2] ?></td>
            <td><?= row[3] ?></td>
          </tr>
          
          <?} ?>

        
      </tbody>

“u”循环是我如何得到每个单元格的颜色,但据我所知,u循环也会导致每个单元格重复一行。我无法找出我的synnax错误。
任何反馈是赞赏,我还在学习html和使用javascript函数内

hgc7kmma

hgc7kmma1#

您可以将循环拆分为多个scriptlet

<tbody>
    <? for (var i = 0; i < data.length; i++) { ?>
        <tr>
            <? 
                cells = data[i];
                
                for (var u = 0; u < cells.length; u++) {
            ?>
                <td style="background-color:<?= backgrounds[i][u] ?>;height:40px;width:100px;text-align:center;font-family:Oswald">
                    <?= cells[u] ?>
                </td>
            <?
                }
            ?>
        </tr>
    <? } ?>
</tbody>

相关问题