如何在WPF中将数据从excel导入到文本框?

时间:2013-10-17 09:15:42

标签: wpf excel

我正在开发一个项目,我基本上必须从excel文件到文本框显示数据(单元格)。我使用了以下代码

Option Explicit On
Imports System.IO
Imports Microsoft.VisualBasic.FileIO

Partial Public Class Window2
    Dim objexcel As New Excel._ExcelApplication
    Dim objwork As Excel._ExcelSheet
    Dim objworksheet As Excel.Worksheet

    Private Sub Window1_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Window1.Loaded
        objwork = objexcel.Workbooks.open("D:\jkj.xlsx")
        objworksheet = CType(objwork.Worksheets.Item("Sheet1"), Excel.Worksheet)
        TextBox1.Text = objwork.cells(1, 1).text
        Textbox2.Text = objwork.cells(2, 1).text
        objexcel.Workbooks.close()
        objexcel.Workbooks.Quit()
    End Sub
End Class

但它显示以下错误

未找到会员。 (HRESULT异常:0x80020003(DISP_E_MEMBERNOTFOUND))

有人会建议代码有什么问题吗?我在网上搜索并读过高低。

谢谢!

1 个答案:

答案 0 :(得分:0)

你犯了一些错误:

  1. objwork.cells(1,1) - >应该是objworksheet.cells(1,1)
  2. objexcel.Workbooks.Quit() - >应该是objexcel.Quit()
  3. objworksheet.cells(1,1).text - >您应该拆分获取Range对象并获取它的text属性。这是一般的经验法则:"永远不要在COM对象上使用2个点。"即使在用户关闭客户端应用程序之后,不遵守它也会导致Excel的线程继续运行。
  4. 您还应该考虑使用try-catch块保护您的代码 - 根据我的经验,在通过COM使用Office时会出现许多意外的异常可能性。