Google Sheet 预览:有什么办法吗?

我发现了一些关于 Google 表格预览(或缺乏预览)的旧帖子(将近 10 年了?)。今天有办法让它工作吗?

我问这个问题的原因如下。

在我们的社区中,我们会在一个 Google 表格中跟踪重要信息。在 Facebook 上,帖子中链接的电子表格的预览实际上是电子表格当前状态的快照。这非常实用,因为我们甚至不必打开它,如果电子表格中的颜色编码就能为我们提供足够的信息(这种情况很常见)。

这是典型帖子的截图,向您展示我的意思:

Screenshot 2025-12-16 at 23.25.30

多色单元格使我们能够一目了然地了解情况,而无需点击进入 Google 表格(除非我们想查看更多详细信息)。

有没有办法在不使用 Discourse 主题的情况下实现这种“嵌入”?

在 Google 文档桌面版中,转到 文件 → 共享,然后 发布 → 嵌入。

然后您可以将生成的 iframe 粘贴到 Discourse 中。

您必须将 Google 文档域名添加到 Discourse 管理中的允许的 iframe URL 列表中。

结果如下所示:

6 个赞

谢谢!这听起来确实能解决问题。您知道移动端是否有办法做到这一点吗?我猜我们至少有一半的成员是“仅限移动设备”用户 :fearful:

1 个赞

注意:以下内容(感谢 @merefield@darkpixlz是从我刚刚创建的另一个主题合并而来的……该主题中提出的问题与十二月份的问题完全相同。它从我的脑海中溜走了(各位,滑雪事故快一年了,但我在某些事情上显然还没有恢复到良好的工作状态——感谢您的包容)。

在我的社区中,每位成员都有一个跟踪电子表格,他们通常在发帖求助时会分享该表格。目前在 Facebook 上的运作方式是,有一个“预览”会显示电子表格最新部分的一个快照:

这非常有用(至少 Facebook 在这一点上/方面是有用的!),因为它为我们提供了所需相关数据的视图,而无需点击进入电子表格。当然,我们经常点击,但这让我们对我们正在处理的情况有了一个大致的了解。

我在这里读到,要让 Discourse 上的 onebox 正常工作,谷歌文档必须发布。我试着用我的文档做了,但似乎没有效果:

它甚至显示工作表是私有的,但它不是!当我分享“通过链接共享”链接时,结果是一样的:

有没有办法获得比这更好的效果?这是我们运作的一个基本方面:我们工作的关键点是帮助人们跟踪和解释他们在家监测的血糖,而这个电子表格模型是我们做到这一点的“神奇”工具。

我猜,如果 Facebook 能够设法显示谷歌电子表格的有意义的快照,那么在 Discourse 上也应该有办法管理它?

2 个赞

(哦,真糟糕,祝你早日康复!!!:heart:

@Canapin 的建议有帮助吗?

1 个赞

我们来看看,它“有点用”,但 iframe 非常小 :-/ —— 恐怕这样用不了:

有没有办法修复 iframe 的大小?

如果可能的话,你能链接到这个帖子吗?我可以帮你检查 CSS 类,看看是否可行。

2 个赞

https://entraide.diabete-felin.com/t/test-de-partage-de-tableau/189?u=stephtara

如果能用一点 CSS 来解决问题,那真是个好消息!

1 个赞

如果这可行,我正试图弄清楚如何为我的非技术型成员使其简单化。是否有一种方法可以定义一种“用户短代码”,让他们将嵌入代码粘贴到电子表格中的某个位置(在自定义用户字段中?),然后他们只需在帖子中输入类似 %my_spreadsheet%(或其他)的内容即可显示 iframe?

我很快看了一下,没有专门用于文档 iframe 嵌入的类,但我注意到它的最大宽度是 100%,但不是实际宽度……将其设置为 100% 使其更宽,高度由您决定

.post__regular .cooked {
    iframe {
      max-width: 100%;
      max-height: min(1000px, 200vh);
      width: 100%;
      height: 500px;
    }
}
2 个赞

我个人会将其作为一个组件添加到网站中,以便它能全局应用于所有用户。

是的,我刚刚将 CSS 添加到了我为这些小的“社区调整”创建的组件中,谢谢!

现在的问题是如何让人们可以轻松地将该 iframe 插入到他们的帖子中(因为如果他们必须去 Google 表格,发布,嵌入,复制代码,然后回来粘贴,那是不可能完成的)

1 个赞

iframe 解决方案现在效果非常好,因为它的大小合适了,这样我们就可以在电子表格中滚动查看其余的值,而无需打开它。它在移动设备上也能很好地工作!谢谢,这解决了问题中一个很好的部分。

不幸的是,除非你深入研究更高级的 JavaScript,否则我真的看不到这种情况的发生……我对 Discourse JS API 不太熟悉,但它似乎很简单,就是获取 URL,将其包装在 <iframe> src="..."</iframe> 中,并将 /edit 替换为 /pubhtml?widget=true&amp;headers=false

如果这对你的社区成员来说是个大问题,我建议你制作一个教程帖子,告知他们如何正确导出,或者你也可以随时在 Contribute > Feature 中请求官方的 onebox 支持。

1 个赞

我不太懂 JS,但如果你认为可以朝那个方向解决,我可以深入研究一下。稍微偏离了原来的话题,但我认为我的“理想解决方案”是能够在工具栏中添加一个按钮,该按钮可以“添加用户的电子表格”:sweat_smile:

我肯定会发布说明和教程,但我的社区用户大多是“普通大众”,即使有教程,这类事情也很具有挑战性。

1 个赞

是的,这绝对是可能的,只是我不会想象有人会在支持帖子中免费做出来。我敢肯定,如果你有闲钱,有人可以在 Marketplace 或其他渠道帮助你!

1 个赞

所以这就是梦想!:wink:

非常感谢您的帮助,我很高兴能为这些电子表格找到至少可行的解决方案!

1 个赞

哎呀,想把您和 Canapin 的帖子都标记为解决方案,但我只能标记一个 :-/

1 个赞

在编辑器中添加一个按钮,点击时添加 iframe,怎么样?这在主题组件(Theme Component)中绝对是可行的。

然后你可以将 applySurround 更改为 addText 并直接添加 iframe 内容。

1 个赞

这可以为每个用户单独设置吗?