在网络应用程序Google Apps脚本上呈现部分Google电子表格

金范石

我打算将Google电子表格用作冻结行的共享网站。因为在共享的网站上,我根本无法修复列和行。最终我注意到,如果我在google apps脚本中使用网络应用作为部分渲染,则可能可以连续制作(例如使用html或javascript)

但我无法调用已设置范围的部分Google电子表格。当我这样做时,我可以看到

“无法显示”。

但是奇怪的是,当我没有添加范围时,它显示的很好。但这不是我想要的。(我从这里获得了信息:https : //www.steegle.com/google-sites/how-to/insert-websites-apps-scripts-and-gadgets/embed-google-sheet-range

这是我要在网站上修复的适用范围,就像使用google apps脚本和网络应用程序一样。https://docs.google.com/spreadsheets/d/1L-NvkrbmiDk2nT7bUTRalrgON6K5zEFYZMu362GVNnE/htmlembed?single=true&gid=1680391550&range=A1:AI7&widget=false&chrome=false&headers=false

这都是文档的一部分。https://docs.google.com/spreadsheets/d/e/2PACX-1vQZBVb3b0HgvmLSJBXpp57NkZTaa5Zn_HTQGwkenlhI_vLxmgxN_jwUY_TbLLCszyqIF2Ht-1qNf37o/pubhtml?gid=1680391550&ing

我发布了文档,以便能够显示给所有在Google电子表格和网络应用程序上访问网络应用程序(查看权限)的用户。

如果您可以让我知道您所知道的一切,如何解决从A到Z的问题,我将不胜感激。我想知道如何修复部分Google电子表格,该电子表格是从google在Web应用程序的html页面上作为url调用的应用脚本。或如何通过Google Apps脚本在网络应用上调用部分Google电子表格的方法。谢谢。

am

问题:

无法在已发布的图纸上冻结行:请参阅如何冻结公共共享表中的列/行?

解决方法#1。嵌入电子表格本身:

如果您不存在将电子表格公开(与共享)的问题,则可以将电子表格本身嵌入到电子表格本身中,而不是将文件发布到网络上并嵌入此已发布的版本(包含URL的网址)。这样,电子表格将保持原样,冻结行位于顶部。/pubhtmlAnyone with the link

但是,您在注释中提到,您已经注意到无法在移动设备上正确看到冻结的行,这导致此解决方法不适合您的情况。

解决方法#2。建立HTML表格:

一个不太直接,更费力的解决方法是执行以下操作(我将给出一些广泛的指导,并包括一些参考资料供您进一步研究):

代码示例:

在这里,我附上代码以从工作表中检索数据,并使用它来创建动态表(样式功能-冻结行,常规格式-并且不包含合并单元格的问题-如果您对这些问题有疑问,我建议您单独发布有关这些问题–):

代码gs:

function doGet(e) {
  return HtmlService.createTemplateFromFile("index").evaluate();
}

function getHeaders() {
  const sheet = SpreadsheetApp.getActive().getSheetByName("출석부");
  return sheet.getRange(1, 1, 7, sheet.getLastColumn()).getDisplayValues();
}

function getBody() {
  const sheet = SpreadsheetApp.getActive().getSheetByName("출석부");
  const firstRow = 8;
  const numRows = sheet.getLastRow() - firstRow + 1;
  return sheet.getRange(firstRow, 1, numRows, sheet.getLastColumn()).getDisplayValues();
}

index.html:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
  <div>
    <table>
      <thead>
        <? const headers = getHeaders();
        for (let i = 0; i < headers.length; i++) { ?>
          <tr>
            <? for (let j = 0; j < headers[0].length; j++) { ?>
            <th><?= headers[i][j] ?></th>
            <? } ?>
        <? } ?>
      </thead>      
      <tbody>
        <? const body = getBody(); 
        for (let k = 0; k < body.length; k++) { ?>
          <tr>
            <? for (let l = 0; l < body[0].length; l++) { ?>
            <td><?= body[k][l] ?></td>
            <? } ?>
        <? } ?>     
      </tbody>
    </table>
    </div>
  </body>
</html>

参考:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在电子表格上迭代的Google Apps脚本非常慢

电子表格中所有工作表上的setActiveCell。Google Apps脚本

Google电子表格脚本

在Google时区(而不是电子表格时区)中使用Google Apps电子表格脚本的日期

从电子表格中修改另一个电子表格:Google Apps脚本

如何根据活动电子表格 Google Apps 脚本中的数据创建多个电子表格?

如何在Google Apps脚本中获取发布到网络电子表格的ID

Google Apps脚本通过电子表格发送电子邮件

如何使用Google Apps脚本应用电子表格过滤器?

如何在电子表格文件中的所有工作表上运行Google Apps脚本?

创建副本后通过 Google Apps 脚本打开 Google 电子表格

使用Google Apps脚本编辑Google电子表格

使用Google Apps脚本将Google电子表格导出为JSON(或XML)格式

通过Google Apps脚本发布Google电子表格

在 Google Apps 脚本中将 XML 解析为 Google 电子表格

通过Google Apps脚本#2发布Google电子表格

在 Google Apps 脚本中将 XML 解析为 Google 电子表格

Google 电子表格 - 应用程序脚本 - onOpen 功能不起作用

如何使用Google Apps脚本引用外部电子表格

Google Apps脚本html从电子表格数据中加载的选择选项

在Google Apps脚本中从电子表格传递JSON值

如何在Google Apps脚本中使用本机电子表格功能?

将多行追加到电子表格-Google Apps脚本

Google Apps脚本-无法在App(电子表格等)中使用HTML服务“ createTemplateFromFile”吗?

电子表格需要单独的Google Apps脚本部署权限吗?

Google Apps脚本-将gmail中的数据提取到电子表格中

如何使用Google Apps脚本向电子表格单元格添加链接

UrlFetchApp 服务器使用 Google Apps 脚本锁定特定电子表格

Google Apps脚本如何共享特定的电子表格?