文件输入输出

时间:2009-03-14 09:32:30

标签: c# file input

我想在不使用数据连接的情况下阅读微软Word文件,

5 个答案:

答案 0 :(得分:2)

“。doc”不是简单的基于文本的文件格式。你必须使用互操作来进行maniuplation。

包括COM Libary“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;

blog of Scott C. Reynolds有一个很好的介绍。

答案 1 :(得分:1)

这取决于,StreamReader有几个构造函数,请看:

public StreamReader(Stream stream, bool detectEncodingFromByteOrderMarks)

public StreamReader(Stream stream, Encoding encoding)

但也许你应该用“doc file”解释你的意思

答案 2 :(得分:1)

如果用“doc”表示“Word 2003文档”,那么它不是一个纯文本文件 - 它是一种二进制文件格式。我不确定它是否在任何地方都有记录,尽管像Open Office这样的项目显然已经对其进行了逆向工程。

如果用“doc”表示其他内容,请澄清。

答案 3 :(得分:1)

Word文档使用.doc扩展名,并且可以选择以基于XML的格式保存。如果您可以选择这样做,则可以使用XML解析库来获取内容。整个架构非常复杂,但您可以通过简单的方式从中提取一些有用的东西。

答案 4 :(得分: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;