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

本文关键字:最佳 方法 格式化 word 文档 | 更新日期: 2023-09-27 18:11:41

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

  1. 最好的格式是什么?字模板?形式?硬编码文本?我该如何准备输入数据的格式?
  2. 以后读取格式化文档的最好方法是什么?

编辑:我看我不够清楚

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

我实际上是在寻找正确的方法来创建一种"模板",客户端将能够填写,我将能够阅读。
当我说"正确的方法"或"最好的方法"时,我指的是一种对我来说很容易开发,但对我的客户来说很容易填写,然后对我来说很容易阅读和保存的方法。

我知道几年前有"。."文件,但据我所知,它们很难维护或分发。他们是我唯一的选择吗?

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

如果客户在经过所有推理后坚持使用Word,您应该检查内容控件:

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

https://dbe.codeplex.com/

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

既然你的客户坚持使用Word,让我们考虑一下你有几个选择:

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

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

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

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

为了在C#中读取docx看这里:我如何读取。docx文件?

下一个问题:格式。如果你只有一个文档,那就很容易了。创建空文档,然后从空文档中删除所提供的文档文本。

例如创建文档:

First name:
Last name:

然后有人会向文档提供信息,创建:

First name: John
Last name: Smith

您知道空文档的样子,所以您现在想要的是差异。从提供的文档中删除空文档将得到:

 John
 Smith