我正在编写Google Apps脚本,使用HtmlService将数据从电子表格显示到HTML表格中。但我面临两个挑战:
我尝试将电子表格单元格值编写为<a href="url of file">File Name</a>
,但仍然将表格读取为纯文本而不创建超链接。
以下是HTML代码。
如何在HTML表格中使用换行符显示电子表格单元格值?如何在表格中为电子表格单元格中的网址创建超链接?
<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>
答案 0 :(得分:4)
假设您的变量result
包含电子表格单元格中的文本,您可以使用<br>
标记替换它来复制HTML的换行符。
result = result.replace(/\n/g,"<br>");
在我自己的SheetConverter库中,我还用非中断空格替换空格并编码<
符号,以避免将单元格内容解释为HTML。
result = result.replace(/ /g," ").replace(/</g,"<").replace(/\n/g,"<br>");
您的问题的第2部分不容易回答,部分原因是有多种方法可以在电子表格中表达网址。
如果单元格包含HYPERLINK()
函数,则可以使用Range.getFormula()
检索公式,并从中获取URL和显示的文本。但是,URL可能是另一个公式或单元格引用,因此您仍然可能最终得到一个不可行的链接。
如果某个单元格包含Google表格解释作为网址或电子邮件地址的文字,则会在表单GUI中将其标记为链接,但结果格式和HREF都不是适用于Google Apps脚本。
随意检查SheetConverter源并从中获取想法,或者只是将其用作库来简化您的工作。
答案 1 :(得分:0)
显示换行符/空格的简单解决方案
使用html标记<pre>Data retreived here</pre>
然后,您可以将css类应用于pre元素以更改预定义字体。
The HTML Preformatted Text (<pre>) represents preformatted text. Text within this element is typically displayed in a non-proportional font exactly as it is laid out in the file. Whitespaces inside this element are displayed as typed.