我想在不使用数据连接的情况下读取 microsoft word 文件,
ankush
问问题
333 次
4 回答
2
“.doc”不是一种简单的基于文本的文件格式。您必须使用互操作进行操作。
包括 COM 库“Microsoft Word 12.0 对象库”。创建一个 ApplicationClass 并使用属性 Documents 打开您的文档。
object wordPath = null;
object missing = System.Reflection.Missing.Value;
wordPath = @"C:\sample.doc";
// Create Interop object
ApplicationClass word = new ApplicationClass();
word.Visible = false;
// Open document
Document doc = word.Documents.Open(ref wordPath,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing);
// Set document as active for interaction
doc.Activate();
// Select the whole content of the word document
word.Selection.WholeStory();
// Get the text from the document
string text = word.Selection.Text;
Scott C. Reynolds的博客上有一个很好的介绍。
于 2009-03-14T13:34:19.883 回答
1
如果“doc”是指“Word 2003 文档”,那么它不是一个以纯文本文件开头的文件——它是一种二进制文件格式。我不确定它是否记录在任何地方,尽管像 Open Office 这样的项目显然已经对其进行了逆向工程。
如果“doc”是指其他意思,请澄清。
于 2009-03-14T09:50:50.020 回答
1
Word 文档使用 .doc 扩展名,并且可以选择以基于 XML 的格式保存。如果您可以选择这样做,则可以使用 XML 解析库来获取内容。整个模式非常复杂,但您可以通过简单的方式从中提取一些有用的东西。
于 2009-03-14T10:20:14.287 回答
0
object wordPath = null;
object missing = System.Reflection.Missing.Value;
wordPath = @"C:\sample.doc";
// Create Interop object
ApplicationClass word = new ApplicationClass();
word.Visible = false;
// Open document
Document doc = word.Documents.Open(ref wordPath,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing);
// Set document as active for interaction
doc.Activate();
// Select the whole content of the word document
word.Selection.WholeStory();
// Get the text from the document
string text = word.Selection.Text;
于 2009-03-18T09:53:30.153 回答