代码之家  ›  专栏  ›  技术社区  ›  akosch

用于自动创建Microsoft Word 2007文档的选项[关闭]

  •  2
  • akosch  · 技术社区  · 17 年前

    我使用“自动创建Word文档 Microsoft Word 12.0对象库 “在我的项目中,但速度慢得让人无法接受。我正在寻找替代方案:我需要从模板创建一个文档,运行一些宏,并将文本和表格插入不同的书签范围(一些文本格式选项也不错)。我只需要最后的文件与 字2007 ,但希望能从 .NET (也感谢其他建议)

    请告知。

    4 回复  |  直到 17 年前
        1
  •  2
  •   Dirk Vollmar    17 年前

    看看微软的 Office OpenXML SDK . 它允许您在不使用Office应用程序的情况下以编程方式创建Word 2007(.docx)文档。

    要使用它,您需要熟悉OpenXML文件格式。一个很好的起点也提供了一些例子 Brian Jones 和 Erika Ehrli .

    codeproject上的这个示例也可能是一个好的开始: Creation of a Word 2007 document using the Open XML Format SDK .

    我还建议您查看documentReflector,它是一个包含在SDK中的工具,它创建代码以基于现有文档生成特定的Word文档。

        2
  •  2
  •   Frank Bechmann    17 年前

    选项,我到现在为止用过:

    1. 你的-COM自动化:性能对我来说不是最大的问题, 只是COM自动化的所有丑陋细节,比如死掉的进程、锁定的文件等等; 对于存在API的某些任务,只要只有人使用应用程序, 这仍然是一个选择。 需要安装Word。
    2. 导入为HTML并另存为Word-按预期快速更好地工作, 只要您的Word格式简单,并且与HTML标记结构非常匹配 (例如标题、项目列表)。为了简化处理,模板必须是HTML, 对于一个有限的用例,经常是一个快速的黑客攻击。 需要安装Word。
    3. concatenate和process模板另存为wordml:为您节省com的痛苦 自动化,但由于WordML只是一种被伪装成XML的二进制格式,所以这通常是一个难题; 因此,有些任务比使用Word API更复杂。 尽管如此,我还是比1更喜欢它。 不需要安装Word。
    4. 和前面的答案一样,OpenXML SDK:刚开始使用它,似乎是一个很好的 折衷于1和3:在XML级别或API级别上工作-任何最适合 某些特征。 不需要安装Word。
        3
  •  0
  •   JasonPlutext    16 年前

    其他建议也很感谢

    对OpenXML XSDK的Java等价物是DOX4J(我的项目)和POI。

    使用docx4j,您可以将宏注入到现有的docx中,或者使用dotm(正如divo建议的那样)。

        4
  •  0
  •   James Stallings    14 年前

    Officewriter 是另一个选择。

    OfficeWriter API是一个.NET库,允许您生成, 操作并从自己的文档中读取Excel和Word文档 应用。

    推荐文章