.NET在没有Microsoft.Office.Interop的情况下读取word / excel文档

时间:2013-03-20 13:10:36

标签: vb.net excel ms-word

我正在尝试在VB.NET下打开一个doc文件,我找到了一个非常简单的方法来使用word:

例如:

    Dim doc As Word.Document
    Dim wordApp As New Word.Application

    Dim allText As String
    Try
        doc = wordApp.Documents.Open("C:\marti.doc")
        allText = doc.Range.Text()
        doc.Close()
        RichTextBox1.Text = allText
    Catch
        'error            
    End Try

(更详细的信息:http://support.microsoft.com/kb/316383

这可行,但需要打开Microsoft Word窗口来处理它。我需要在没有安装Word的情况下使用它。所以我需要一个可以打开doc / excel文件的库。

你知道一个好的图书馆可以做到这一点吗?

我找到了这个库: http://bytescout.com/download/trial/documentsdk.html

你试过这个吗?

2 个答案:

答案 0 :(得分:2)

与Office文件交互的推荐方法是通过Office OpenXML库。你可以得到它here

如果您使用的是Microsoft Office 2003,则可以在Open XML中加载和保存文档(如果已安装Word,Excel和PowerPoint 2007文件格式的Microsoft Office兼容包)。您可以下载兼容包并查找更多信息here

这是收集文档内容的示例方法:

Private Shared Function GetWordDocContent(strDoc As String) As String
    Dim stream As Stream = File.Open(strDoc, FileMode.Open)
    Dim wordprocessingDocument__1 As WordprocessingDocument = WordprocessingDocument.Open(stream, True)
    Dim body As Body = wordprocessingDocument__1.MainDocumentPart.Document.Body
    Dim content As String = body.InnerText
    wordprocessingDocument__1.Close()
    Return content    
End Function

另一个例子here

答案 1 :(得分:1)

要处理docx文件,您可以尝试NPOIDocX

对于旧的单词格式(.doc)我尝试了Syncfusion DocIO个组件,但我更喜欢使用自带NetOffice的自动化,比互操作更好

相关问题