0

我想在 Google 电子表格中编写 ImportXML 函数以返回同一电子表格的文档名称。例如,我的电子表格标题为“Kimchi”。我想'在单元格“A1”中返回该名称,以根据文档名称自动执行电子表格中的一系列功能。对于我将从原始模板复制并重命名的一百个左右的电子表格中的每一个,我都懒得在单元格中输入值。

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

这段 XML 看起来很有希望,但我似乎无法让查询拉取它:

<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.

我难住了。

这是带有变体的电子表格。

PS 在我与全世界分享文件后,这最终奏效了:

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

1 回答 1

1

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

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

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

Ctrl-SBookName输入名称框,点击确定,等待黄色的“保存”栏消失。使用代码编辑器关闭选项卡。

在您的工作表中,您现在可以简单地键入=BookName(),单元格将显示工作簿标题。

于 2014-08-12T14:46:14.920 回答