【问题标题】:the best way to format a word document for read in c# [closed]格式化word文档以在c#中读取的最佳方法[关闭]
【发布时间】:2015-03-06 00:09:02
【问题描述】:

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

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

编辑:我看我不够清楚

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

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

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

【问题讨论】:

  • 您说的“阅读(格式化的)文档” 是什么意思非常不清楚。您的 C# 代码会将它们作为 BLOB 传输到数据库吗?或者你真的需要从中提取或修改文本/格式吗?
  • 一般来说,做某事没有“最好的方法”;这一切都取决于您究竟想做什么,以及如何做。对您来说最重要的是:开发速度?代码的质量和可读性?所涉及图书馆的使用条款(“法律内容”)?图书馆的寿命/可用性(确保您对学习图书馆的投资不会在几个月后丢失)等。

标签: c# ms-word document docx


【解决方案1】:

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

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

https://dbe.codeplex.com/

【讨论】:

    【解决方案2】:

    我在这里假设您不只是将客户的文档视为您必须在数据库中传输和传输的 BLOB(尽管您的问题并不清楚您需要对这些文档做什么) .

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

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

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

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

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

    【讨论】:

    • 问题2的完美解释。
    【解决方案3】:

    要在C# 中阅读docx,请看这里:How can i read .docx file?

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

    例如创建文档:

    First name:
    Last name:
    

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

    First name: John
    Last name: Smith
    

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

     John
     Smith
    

    【讨论】:

    • 对不起,我不明白您的意思“创建空文档,然后从空文档中删除提供的文档文本”
    • @bniyadev 我用一个例子更新了我的答案
    • 好的,我知道了,请查看我对原帖的编辑
    猜你喜欢
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    相关资源
    最近更新 更多