Google电子表格"文档名称" ImportXML XPath查询

时间:2014-08-12 00:40:39

标签: xpath google-apps-script google-sheets custom-function google-sheets-importxml

我想在Google电子表格中编写一个ImportXML函数,以返回同一电子表格的文档名称。例如,我的电子表格标题为“泡菜”。我希望'在单元格“A1”中返回该名称,以根据文档名称自动化电子表格中的一系列功能。我太懒了,不能为我将从原始模板中复制并重命名的大约一百个电子表格中的每一个键入单元格。

我似乎无法确定正确的查询结构。

这一点看起来很有希望,但我似乎无法通过查询来获取它:

<span class="docs-title" id="docs-title" role="button"><div class="docs-title-inner" id="docs-title-inner">kimchi</div></span>

到目前为止我已经尝试过了......

=ImportXML("SOME URL HERE", "//div[@class=’docs-title-inner’]/@content")

它返回......

Error: Imported Xml content can not be parsed.

我尝试了各种各样的变化,有些可能同样很差。以下是一些看似多汁的XML结构:

<html>
  <head>
     <title>kimchi - Google Sheets</title>

但是ImportXML函数中的这个XPath查询都不起作用

=ImportXML("SOME URL HERE", "/html/head/title")

它回来了......

Error: Import Internal Error.

我很难过。

Here's the spreadsheet with variations.

PS我与世界分享了这份文件之后最终工作了:

=ImportXml("THE URL", "//meta[@itemprop='name']/@content")

1 个答案:

答案 0 :(得分:1)

你不必做任何这些。 转到tools - &gt; script editor - &gt; blank project

使用以下代码替换编辑窗口的内容:

function BookName() {
  return SpreadsheetApp.getActiveSpreadsheet().getName();
}

Ctrl-S,将BookName放在名称框中,点击确定,等待黄色&#34;保存&#34;酒吧消失。使用代码编辑器关闭选项卡。

在工作表中,您现在只需输入=BookName(),单元格就会显示工作簿标题。