0

如何在 .ods 文档中进行有条件的更改?我有两列。其中一个存储一个字符串,第二个存储一个值。我想用我拥有的特定字符串搜索文档,比如“xyz”。如果这与第一列中显示的任何字符串匹配,我希望从同一行中的单元格中减去 1 的值,但要从第二列中扣除。.ods 文档中的数据由不同的相邻单元格分隔(所以是选项卡?)

例如,考虑以下情况:

xyz 23 xy
42
xzz 76

如果我有字符串“xxy”,我希望 bash 脚本更新 .ods 文件,使其看起来像这样:

xyz 23 xy
41
xzz 76

现在,我正在搜索的字符串存储在一个单独的 .txt 文件中。我想遍历 .txt 文件中的所有字符串并重复执行 .ods 文件中描述的操作。可能存在相同字符串多次出现的情况。有什么帮助吗?

4

1 回答 1

2

这应该是一个评论,但它有点长

我正在搜索的内容存储在一个文本文件中。

不,MS Excel 文件不是文本文件。它甚至不是一个文件,而是一个嵌入式文件系统,其中内容被封装在 OLE 中,或者最近作为xml树。虽然在 Unix 上同时存在 OLE 和 XML 解析器(我假设你想在 Linux/Unix/Posix 上运行它,因为你已经用 bash、awk 和 sed 标记了它)只是让你可以访问数据的存储位置。您仍然需要详细了解文件格式才能进行更改。虽然可以在 bash 中执行此操作,但使用专用编程语言会容易得多。有几个确实带有用于处理 Excel 文件的库,但它们对文件格式的支持各不相同。或者,您可以使用其 UNO API 在 openoffice 中加载它。

于 2016-07-30T16:43:44.767 回答