将LibreOffice Calc URL转换为文本

Chr*_*yne 10 libreoffice-calc

我有一个LibreOffice 3电子表格(在Ubuntu 11.04上),其中包含数百个超链接列,只显示为"链接".

我需要将这些转换为纯文本,或更糟糕的超链接,显示超链接而不是文本'链接'.是否有可以执行此操作的函数,或者可能是在整个电子表格中执行此操作的方法?

A5C*_*2T1 13

你可以使用宏.

我测试的唯一一个是这个.

如果您没有使用宏的经验,请参考以下步骤:

  1. 复制该链接提供的宏.
  2. ALT + F11打开宏组织器.
  3. 在"我的宏"下选择"模块1"并单击"编辑"
  4. 粘贴您复制的宏代码.
  5. 保存并关闭宏

现在,您可以访问标题为"CELL_URL"的宏,您可以按如下方式使用:

假设您的链接在"SHEET 1"的"CELL A1"中开始,我建议您转到新工作表,并在第一个单元格中输入:=CELL_URL("SHEET 1",ROW(),COLUMN()).然后,您可以根据数据的尺寸拖动该公式.

或者,另一个例子,假设您有一个包含20个链接的列,从"SHELL 1"上的"CELL B5"开始,并且您希望URL位于其旁边的列中(因此,从"CELL C5"开始"),在"CELL C5"中,输入如下公式:=CELL_URL("SHEET 1", ROW(), COLUMN()-1).请注意 -1.这告诉函数从小于当前位置的一列中提取单元格中的URL.然后,将公式从"CELL C5"拖动到"CELL C24",链接结束.


更新:

该URL似乎没有解析.幸运的是,有WayBack机器:http://web.archive.org/web/20120713222701/http://www.oooforum.org/forum/viewtopic.phtml?t=32909

我还发布了宏作为要点:https://gist.github.com/mrdwab/14c9e81dfbc867351bd3

如注释中所述,使用该CELL_URL()功能时可能需要将"SHEET 1"更改为"Sheet1" .


sdb*_*bbs 8

这是另一种方法,使用 Unix 命令行工具 - 并完全绕过 Calc。

首先,将 .ods 解压为 zip 文件;例子:

$ cd /tmp
$ mkdir my_ods_unpack
$ cd my_ods_unpack
$ unzip /path/to/my.ods
Run Code Online (Sandbox Code Playgroud)

解压后,你可以查看./content.xml,发现所有的URL都用双引号括起来";因此我们可以编写以下grep行:

$ grep -ro 'http[^"]*' .
./meta.xml:http://www.w3.org/1999/xlink
./meta.xml:http://purl.org/dc/elements/1.1/
./meta.xml:http://openoffice.org/2004/office
...
Run Code Online (Sandbox Code Playgroud)

...一旦到达./content.xml,您应该开始看到已放入文档中的 URL。