我想找到一種方法來解析word文檔的文本到我的項目中的字符串。我有超過600個字(.doc)文件,我需要獲取文本內容(如果可能,使用新的行和標籤)並將其分配給每個字符串。如何從MS Word文檔解析文本到字符串
我一直在閱讀關於Open XML SDK的東西,但看起來相當複雜,看起來很簡單。
我想找到一種方法來解析word文檔的文本到我的項目中的字符串。我有超過600個字(.doc)文件,我需要獲取文本內容(如果可能,使用新的行和標籤)並將其分配給每個字符串。如何從MS Word文檔解析文本到字符串
我一直在閱讀關於Open XML SDK的東西,但看起來相當複雜,看起來很簡單。
你可以在NPOI給看看:
該項目是POI Java項目在 http://poi.apache.org/ .NET版本。 POI是一個開放源代碼項目,可以幫助您讀取/寫入xls,doc,ppt文件 。它有着廣泛的應用。
看看this以前的SO線程獲取更多信息。
我如何在我的解決方案中正確引用該項目? – mathinvalidnik
@mathinvalidnik:您通常會下載所需的DLL文件並將其包含在您的參考文獻中。或者,你可以得到一個用於visual studio的插件(NuGet)來爲你做,假設這些DLL在它的倉庫中。 – npinti
我真的不知道應該選擇哪些以及如何使用它們(Instatiate類,使用它們的方法等)。 – mathinvalidnik
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-Automation或http://www.codeproject.com/Articles/21247/Word-Automation爲更完整的例子和說明。請注意,如果您的文檔變得複雜(腳註,文本框,表格...),這可能會變得更加棘手。
另一種選擇是將文檔保存爲文本,然後讀取文本文件。看看這個 - http://msdn.microsoft.com/en-us/library/microsoft.office.tools.word.document.saveas(v=vs.80).aspx
'.doc'或'.docx'? '.doc'是MS Word 2003格式和更早版本 - 我不相信它們是XML文檔,例如'.docx' – crush
所有文件都是.doc格式 – mathinvalidnik