2011-04-11 20 views
1

在我的項目我有我想要的Excel文件中導出彙總數據表,用於這個目的,我已經部署了下面的代碼:農產品Excel文檔在vb.net

Public Shared Function Main() As Integer 
     Dim exc As New Application 

    exc.Visible = True 
     Dim workbooks As Excel.Workbooks = exc.Workbooks 
     Dim workbook As Excel._Workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet) 
     Dim sheets As Sheets = workbook.Worksheets 
     Dim worksheet As _Worksheet = CType(sheets.Item(1), _Worksheet) 
     exc.DataEntryMode = True 
     Dim range1 As Range = worksheet.Range("C1", Missing.Value) 
     Const nCells As Integer = 5 
     Dim args1(1) As [Object] 
     args1(0) = nCells 
     range1.GetType().InvokeMember("Value", BindingFlags.SetProperty, Nothing, range1, args1) 
     Return 100 
    End Function 

當我試圖執行行:在這一點上,我不能想出什麼問題 Exception has been thrown by the target of an invocation

range1.GetType().InvokeMember("Value", BindingFlags.SetProperty, Nothing, range1, args1) 

我得到的錯誤。有人幫我嗎?

回答

2

不要擔心嘗試使用invoke成員。

要填充值的範圍到一個Excel documant你可以使用這樣的事情

dim row as integer = 1 
dim column as integer = 1 


Worksheet.Cells(row,column) = "My value here" 
'or this 
Worksheet.Cells("A1").Value = "my Value Here" 
' or this 
Worksheet.Range("A1") = "My value here" 

嘗試從視圖做這裏面的Excel,然後千篇一律的角度看它。

編輯
對於像Word文本alignement選項包等

dim rng as Range = Worksheet.Range("A1") 
With rng 
     .HorizontalAlignment = xlGeneral 
     .VerticalAlignment = xlTop 
     .WrapText = True 
     .Orientation = 0 
     .AddIndent = False 
     .IndentLevel = 0 
     .ShrinkToFit = False 
     .ReadingOrder = xlContext 
     .MergeCells = False 
end With 
+0

@Nathan費舍爾。非常感謝你一切順利。但請告訴我:爲什麼我們不會調用成員? – 2011-04-11 07:45:44

+0

無需調用成員,因爲Range在編譯時是已知對象。如果您在運行時加載Excel程序集,則會有所不同。 – 2011-04-12 00:09:21

+0

@Nathan。非常感謝你,請告訴我有沒有可能安排一些行對齊。像vb.net裏面的單詞換行一樣?在我們填充文檔本身之前 – 2011-04-12 06:10:32