Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Microsoft Word提取数据的最佳方法_C#_Ms Word_Office Interop - Fatal编程技术网

C# 从Microsoft Word提取数据的最佳方法

C# 从Microsoft Word提取数据的最佳方法,c#,ms-word,office-interop,C#,Ms Word,Office Interop,软件的发行说明中有一些重要数据,我希望在每个发行版中提取这些数据。有没有办法从Microsoft Word中提取某些信息 我正在考虑的应用程序将用C#编写,但如果是其他解决方案,我也可以。我使用VSTO(Visual Studio Tools for Office)工具进行了大量excel编程,我认为您将能够使用VSTO API阅读word文档。您应该能够使用C#您可以编写一个从word文件中提取文本的程序。无需安装Word。所有MS Office产品(Word、Office等)在内部(使用VB

软件的发行说明中有一些重要数据,我希望在每个发行版中提取这些数据。有没有办法从Microsoft Word中提取某些信息


我正在考虑的应用程序将用C#编写,但如果是其他解决方案,我也可以。

我使用VSTO(Visual Studio Tools for Office)工具进行了大量excel编程,我认为您将能够使用VSTO API阅读word文档。您应该能够使用C#

您可以编写一个从word文件中提取文本的程序。无需安装Word。

所有MS Office产品(Word、Office等)在内部(使用VBA)和外部(通过,也称为ActiveX;事实上,VBA使用通过OLE公开的接口)都完全可以编写脚本


我的建议是寻找一个支持这一点的语言库。是指向Perl模块的链接,
Win32::OLE
,正如您所看到的,它非常易于使用,功能非常强大。其他语言的界面应该是类似的。

几年前,我就经历过这个问题。你可以:

  • 使用Word将文件转换为其他格式,如ASCII、RTF、XML等

  • 使用某些第三方应用程序转换为其他格式,如ASCII

  • 通过OLE访问Word API并直接提取信息

  • 我找不到任何通用库来读取Word文件,而当时所有读取Word文件的应用程序都只适用于一个子集。这个词经常变换,他们很难跟上

    有一些文档列出了旧Word文件格式的细节,底层文件结构异常复杂。如果没有大量资源,将很难使代码与文件格式保持同步

    最初,我使用Perl驱动Word并创建新文档,但解决方案太脆弱。后来,我将整个应用程序改为使用PDF,并放弃使用Word


    Paul.

    您可以在Word内部(VBA、VSTO)或外部工作

    从it外部来看,自动化是一种方法


    另一个是避免完全使用这个词。如果文档是.docx,那么可以使用任何可以操作打开的XML文件的东西。Microsoft有其开放式XML SDK,在Java世界中,您可以使用docx4j或POI。

    可能不是最优雅的解决方案,但这似乎是最简单的方法:使用Cscript

    刚刚在word doc(2003)示例上试用过,效果非常好

    更多信息: