gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 18:03:04 26 4
gpt4 key购买 nike

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

  1. 如果电子表格单元格值中有换行符,表格会将其显示为单行。
  2. 如果电子表格单元格有超链接,例如链接到 Google Drive 文件,它在表格单元格中显示为纯文本。

我尝试将电子表格单元格值写为 <a href="url of file">File Name</a> , 但仍然将其作为纯文本读取而不创建超链接。以下是 HTML 代码。

如何像在 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>

最佳答案

假设您有一个变量 result包含来自电子表格单元格的文本,您可以通过将换行符替换为 <br> 来复制 HTML 的换行符标签。

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

在我自己的SheetConverter库,我还用不间断空格替换空格并编码 <符号,以避免将单元格内容解释为 HTML。

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

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

  • 如果单元格包含 HYPERLINK()功能,你可以使用Range.getFormula()检索公式,并从中获取 URL 和显示的文本。但是,该 URL 可能是另一个公式或单元格引用,因此您仍然可能会得到一个不可行的链接。

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

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

关于javascript - HtmlService 表不支持电子表格中的换行符和超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33524540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com