2013-10-17 33 views
0

我正在一個項目上工作,我基本上必須從excel文件顯示數據(單元格)到文本框。我用下面的代碼如何將數據從excel導入WPF中的文本框?

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))

有人可以建議什麼是錯的代碼?我通過網絡搜索和讀取了高低。

謝謝!

回答

0

你犯了幾個錯誤:

  1. objwork.cells(1,1) - >應該是objworksheet.cells(1,1)
  2. objexcel.Workbooks.Quit() - >應該是objexcel.Quit()
  3. objworksheet.cells(1,1).text - >你應該拆分獲取Range對象並獲取它的文本屬性。這是一個一般的經驗法則:「不要在COM對象上使用2個點。」即使用戶關閉了客戶端應用程序,也不會導致Excel的線程運行。

您還應該考慮使用try-catch塊保護您的代碼 - 從我的經驗來看,在通過COM使用Office時出現許多意想不到的可能性。

相關問題