格式化word文档以便在c#中读取的最佳方法

时间:2014-07-06 09:16:37

标签: c# ms-word document docx

我想让我的客户创建一个word文档,我将能够阅读(在c#中)并保存到DB
例如,客户将编写会议摘要,我将相关的决策和任务保存到相关用户 客户坚持使用word,但他愿意使用我想要的任何格式

  1. 什么是最好的fomat? Word模板?形式?硬编码文本?我如何准备输入数据的格式?
  2. 以后阅读格式化文档的最佳方法是什么?
  3. 编辑:我看到我不够清楚

    我需要一种解析word文档的方法。例如:我需要在文档中找到用户名,然后找到日期,然后找到主题,然后将它们全部保存 我不想拥有(或想要最少的)文本搜索,因为我想支持多种语言,因为我不想处理拼写错误,因为它听起来很愚蠢。

    我实际上正在寻找创造一种"模板"的正确方法。客户将能够填写,我将能够阅读 当我说"正确的方式"或者"最好的方式"我的意思是一种方便我开发,方便我的客户填写,然后让我阅读和保存。

    多年前我就知道有#34; .dot"文件,但据我记得,他们很难维护或分享。他们是我唯一的选择吗?

3 个答案:

答案 0 :(得分:1)

我在这里假设您不仅要将客户的文档视为必须传输到数据库和从数据库传输的BLOB(尽管在您的问题中不太清楚您需要对文档执行什么操作)

由于您的客户坚持使用Word,我们考虑一下您的选择:

  • 纯文本(.txt
  • 旧的专有文档格式(.doc
  • Open XML文档格式(.docx

第一个甚至不应该是一个选项,因为客户想要使用Word,而不是记事本。 Word具有记事本的功能,即向文档添加格式。我敢说你的客户很可能想要这样,所以纯文字可能还不够。

第二个是一个选项,但是对这些文档的操作和修改很困难,主要是因为你正在处理一个可能没有很多库可用的神秘专有格式。最简单的选择是使用Office和.NET之间的互操作性。

最后一个选项可能是您最好的选择。有official SDK可用于处理Open XML文档。 Google for Open XML,你应该能够找到如何处理Open XML的教程和文档。

答案 1 :(得分:1)

如果客户在完成所有推理后坚持使用Word,则应检查内容控件:

http://msdn.microsoft.com/en-us/library/gg605189%28v=office.14%29.aspx

https://dbe.codeplex.com/

答案 2 :(得分:0)

要在docx中阅读C#,请查看此处:How can i read .docx file?

下一个问题:格式化。如果你有单个文件,这很容易。创建空文档,然后从空文档中删除提供的文档文本。

例如创建文档:

First name:
Last name:

然后有人会为该文件提供信息,创建:

First name: John
Last name: Smith

你知道空文档的外观,所以你现在想要的是区别。从提供的文档中删除空文档将为您提供:

 John
 Smith