当前位置: 首页 > 知识库问答 >
问题:

HtmlService表不支持电子表格中的换行符和超链接

伊俊能
2023-03-14

我正在编写GoogleApps脚本,使用HtmlService将电子表格中的数据显示到HTML表中。但我面临以下两个挑战:

  1. 若电子表格单元格值中有换行符,则表格将其显示为单行
  2. 如果电子表格单元格具有超链接,例如指向Google驱动器文件的链接,则在表格单元格中将其显示为纯文本

我尝试将电子表格单元格值写为

如何在HTML表格中显示带换行符的电子表格单元格值?另外,如何在表格中为电子表格单元格中的URL创建超链接?

    <table cellspacing="0" style="width:700px; background-color:#fdfbc4; table-layout:fixed; word-wrap: break-word ">
   <? for(var l=0; l< data_labels.length -1 ; l++){ ?>
       <tr>         
         <td> <?= data_labels[l] ?> </td> <td > <?= data[l] ?></td>        
       </tr>
   <? } ?>

   </table>

共有2个答案

臧烨烁
2023-03-14

一个简单的解决方案来显示换行符/空格
使用html标签

HTML预格式化文本(

呼延智明
2023-03-14

假设您有一个包含电子表格单元格文本的变量结果,您可以通过将其替换为来复制超文本标记语言的换行符

result = result.replace(/\n/g,"<br>");

在我自己的SheetConverter库中,我还将空格替换为非中断空格并编码

result = result.replace(/ /g,"&nbsp;").replace(/</g,"&lt;").replace(/\n/g,"<br>");

你问题的第二部分不容易回答,部分原因是在电子表格中有多种表达网址的方法。

>

  • 如果单元格包含HYPERLINK()函数,则可以使用范围。getFormula()检索公式,并从中获取URL和显示的文本。然而,URL可能是另一个公式或单元格引用,因此您仍然可能最终得到一个不可行的链接。

    如果一个单元格包含Google Sheets解释为URL或电子邮件地址的文本,它将在Sheets GUI中标记为链接,但生成的格式和HREF都不可用于Google Apps脚本

    请随意检查SheetConverter源代码并从中获取想法,或者只是将其用作一个库来简化您的工作。

  •  类似资料:
    • 当我们运行Google应用程序脚本的任何方法时,Google电子表格上会显示一条带有超链接的消息。例如: 运行脚本方法名解除超链接 我想知道是否有任何选项来禁用消息并删除出现在谷歌电子表格上的超链接,当任何功能在后台执行时。在不,请分享什么候补可用来隐藏这一点。

    • 我是一名编码等方面的初学者,但我正在努力理解我在做什么以及代码中发生了什么。 我想在不同的电子表格之间划一行。 我在“核心”电子表格中有一个脚本,它在“主页”和“完成”表格链接之间移动一行到电子表格: 我搜索了如何将位于“已完成”工作表上的数据移动到另一个名为“数据库”的电子表格链接到电子表格: 但我想将数据从表“CORE”/“Finished”传输到表“database”/“DB”,而不重写DB

    • 人若自洁,脱离卑贱的事,就必作贵重的器皿,成为圣洁,合乎主用,预备行各样的善事。你要逃避少年的私欲,同那清心祷告主的人追求公义、信德、仁爱、和平。惟有那愚拙无学问的辩论,总要弃绝,因为知道这等事是起争竞的。(2 TIMOTHY 2:21-23) 电子表格 一提到电子表格,可能立刻想到的是excel。殊不知,电子表格“历史悠久”,比Word要长久多了。根据维基百科的记载整理一个简史: VisiCal

    • 我正在尝试从多个google电子表格中删除一个特定的表格。 我有一个主电子表格,从所有其他电子表格收集数据。从主电子表格中,我可以在其他电子表格中执行不同类型的操作,如添加工作表、重命名工作表、隐藏和锁定工作表。 但无法删除其他电子表格中的表格。查看了其他线程,但找不到任何解决方法。 这就是我到目前为止得到的。它停在这一排: "fname.delete表(本周);}" 我很感谢大家对我的帮助,因为

    • 我有一个GoogleSheets电子表格,我在其中记录每月的任务,所以每张表格代表一个月。我总是移动当月的工作表,使其在电子表格中位于第一位。我希望能够向同事发送一个超链接,该超链接始终链接到第一张/最左边的工作表上的单元格或行,无论是哪张工作表。 例如,如果我有一个标记为“Customer 3”的单元格,那么我希望超链接转到电子表格中第一张/最左侧工作表上的“Customer 3”单元格,而不管

    • 本章介绍如何使用Java创建电子表格并对其进行操作。 电子表格是Excel文件中的页面; 它包含具有特定名称的行和列。 完成本章后,您将能够创建电子表格并对其执行读取操作。 创建电子表格 首先,让我们使用前面章节中讨论的引用类创建一个电子表格。 按照上一章的说法,首先创建一个工作簿,然后我们可以继续创建一个工作表。 以下代码段用于创建电子表格。 //Create Blank workbook XS