只是想知道是否有人有阅读Microsoft Word文档和以编程方式删除某些段落和块的经验(基于标题)
是否有人知道任何可以使用我熟悉的语言之一执行此操作的库:
我已经搜索了一些,大多数似乎能够读取和写入文档(及其部分),但迭代一份当前标题的列表似乎并没有被覆盖。如果我可以将列表作为对象(或类似的东西),那么我可以专门删除我想要的内容。
这样做的主要目的是我有一个包含大量信息的大型模板文档,但只需要某些部分,每个文档都要选择,因此我打算构建一个小前端来动态生成这些文档。 / p>
正如您在上图中所看到的,删除" Mutts"标题2项目将删除红色框内的所有内容,如果可以使用任何预先编写的库,这将是惊人的,我将不必深入研究XML。
如果可能的话,我也不想使用COM(组件对象模型),但如果涉及到我可能会使用Python for Windows Extensions。
非常感谢你们提供的任何帮助。
答案 0 :(得分:1)
我发布这个作为答案,因为评论的信息太多了。考虑到这一点,这不会 真正回答你的问题。对于看起来像这样的word文档:
东西
东西
东西
其他东西
其他东西
其他东西
生成的xml,剥离了属性和不必要的元素,如下所示:
<?xml encoding="UTF-8"?>
<w:document>
<w:body>
<w:p>
<w:pPr>
<w:pStyle w:val="Heading1"/>
</w:pPr>
<w:r>
<w:t>Heading 1</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>Stuff</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>Stuff</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>Stuff</w:t>
</w:r>
</w:p>
<w:p/>
<w:p>
<w:pPr>
<w:pStyle w:val="Heading1"/>
</w:pPr>
<w:r>
<w:t>Heading 2</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>Other stuff</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>Other stuff</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>Other stuff</w:t>
</w:r>
</w:p>
</w:body>
</w:document>
所以,&#34;内容&#34;每个标题下方都没有真正包含在标题内。我所使用的API都不能用于迭代现有文档。即使你可以检索标题列表,你也需要获取该标题和下一个标题之间的所有段落。话虽如此,我仍然不愿意认为那里有一个很好的图书馆。
我之前使用过Python的docx
模块来创建文档,并且花费了一些时间。通常,您可能需要考虑一种加法方法(创建所需的标题)而不是减法方法(删除您不需要的标题)。另外,仅供参考,可以通过将.docx
文件重命名为.zip
来探索SELECT a.ID, a.dat1, b.dat3
FROM Table_1 a LEFT JOIN Table_2 b on a.ID=b.ID
文件。