我有一段代码用于阅读MS Office Word文档。试图阅读MS Office文档
static void ReadMSOfficeWordFile(string file) {
try {
Microsoft.Office.Interop.Word.Application msWordApp = new Microsoft.Office.Interop.Word.Application();
object nullobj = System.Reflection.Missing.Value;
object ofalse = false;
object ofile = file;
Microsoft.Office.Interop.Word.Document doc = msWordApp.Documents.Open(
ref ofile, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj);
string result = doc.Content.Text.Trim();
doc.Close(ref ofalse, ref nullobj, ref nullobj);
msWordApp.Quit();
CheckLineMatch(file, result);
}
catch {
RaiseError("Unable to parse file because of MS Office error.", file);
}
}
我对此有三个问题。
首先 - 它依赖MS Office安装在每个可能运行的系统上。有些人更喜欢Libre Office,但这仍然需要针对MS Office Word文档运行。
二线,我不知道这是否会甚至对MS Office 2003和MS Office 2007和文档工作...
第三 - 这是缓慢的。这是非常慢的。
SO!我认为必须有比这更好的方式来运行它。我猜测有人必须知道比新手更好的方式。我只是试图阅读文档中的文本,没有别的。
谢谢!这确实修复了这一部分。 – MTeck 2012-03-12 18:19:59
相反,我们可以使用NPOI,这是开源项目。查看我的文章,了解如何使用NPOI从.DOC文件中读取所有文本的示例 – Riju 2012-05-11 07:31:26