c# - 如何将 MS Word 文档中的文本解析为字符串

标签 c# parsing text ms-word

我正在尝试找到一种方法将 word 文档的文本解析为我项目中的字符串。我有 600 多个 word(.doc) 文件需要获取文本内容(如果有新行和制表符,可能)并将其分配给每个字符串。

我一直在阅读有关 Open XML SDK 的资料,但对于看起来如此简单的东西来说,它看起来相当复杂。

最佳答案

Open XML SDK 仅适用于 2007 和更新的格式,使用起来并不简单。

如果性能不是问题,您可以使用 Word 自动化并让 Word 为您执行此操作。 它看起来像这样:

var app = new Application();
var doc = app.Documents.Open(documentLocation);

string rangeText = doc.Range().Text;

doc.Save();
doc.Close();

Marshal.ReleaseComObject(doc);    
Marshal.ReleaseComObject(app);

看看http://www.codeproject.com/Articles/18703/Word-2007-Automationhttp://www.codeproject.com/Articles/21247/Word-Automation有关更完整的示例和说明。请注意,如果您的文档变得复杂(脚注、文本框、表格...),这可能会变得有点棘手。

另一种选择是让 word 将文档另存为文本,然后读取文本文件。看看这个 - http://msdn.microsoft.com/en-us/library/microsoft.office.tools.word.document.saveas(v=vs.80).aspx

关于c# - 如何将 MS Word 文档中的文本解析为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17676712/

相关文章:

c# - 将 JavaScript 确认提示添加到 ASP.NET GridView 中的删除命令按钮?

php - 用于解析 HTML 的 DOMDocument(而不是正则表达式)

java - 如何解析多线程写入的日志?

c# - 使用自动映射器映射两个数组返回空数组

c# - 使用 Microsoft 的 ILogger 时如何将范围包含在 Serilog 的控制台接收器中?

c# - 将 C# List<T> 一分为二

sql - 未知函数 'length' 位于/usr/lib/perl5/site_perl/5.8.5/SQL/Statement.pm 第 88 行

c#添加标点符号

r - r : issues with displaying rotated labels using text() 中的条形图标签

iPhone - 具有富文本的 UITextField?