2013-07-16 86 views
1

我想找到一種方法來解析word文檔的文本到我的項目中的字符串。我有超過600個字(.doc)文件,我需要獲取文本內容(如果可能,使用新的行和標籤)並將其分配給每個字符串。如何從MS Word文檔解析文本到字符串

我一直在閱讀關於Open XML SDK的東西,但看起來相當複雜,看起來很簡單。

+0

'.doc'或'.docx'? '.doc'是MS Word 2003格式和更早版本 - 我不相信它們是XML文檔,例如'.docx' – crush

+0

所有文件都是.doc格式 – mathinvalidnik

回答

0

你可以在NPOI給看看:

該項目是POI Java項目在 http://poi.apache.org/ .NET版本。 POI是一個開放源代碼項目,可以幫助您讀取/寫入xls,doc,ppt文件 。它有着廣泛的應用。

看看this以前的SO線程獲取更多信息。

+0

我如何在我的解決方案中正確引用該項目? – mathinvalidnik

+0

@mathinvalidnik:您通常會下載所需的DLL文件並將其包含在您的參考文獻中。或者,你可以得到一個用於visual studio的插件(NuGet)來爲你做,假設這些DLL在它的倉庫中。 – npinti

+0

我真的不知道應該選擇哪些以及如何使用它們(Instatiate類,使用它們的方法等)。 – mathinvalidnik

3

Open XML SDK僅適用於2007和更新的格式,使用起來並不簡單。

如果性能不是問題,您可以使用Word Automation並讓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爲更完整的例子和說明。請注意,如果您的文檔變得複雜(腳註,文本框,表格...),這可能會變得更加棘手。

另一種選擇是將文檔保存爲文本,然後讀取文本文件。看看這個 - http://msdn.microsoft.com/en-us/library/microsoft.office.tools.word.document.saveas(v=vs.80).aspx