vb.NET有時很怪,不同版本,或者不同機(jī)器,在操作excel時,判斷單元格是否為空時,會出現(xiàn)不同的錯誤提示。
博湖網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,博湖網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為博湖千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的博湖做網(wǎng)站的公司定做!
大多數(shù)情況,xlSheet.Cells(1, 1)="" 就可以判斷這個單元是否有內(nèi)容。
但是有時也會有不同的提示。總結(jié)不同機(jī)器,不同版本,用下面幾種來試試單元格是否是空白。
xlSheet.Cells(1, 1)=""
xlSheet.Cells(1, 1).value=""
xlSheet.Cells(1, 1).value.tostring=""
如果上面三個代碼都會自動提示錯誤,請用下面終極模式:)
xlSheet.Cells(1, 1).value = Nothing
int 型,取值范圍-2,147,483,648 到 2,147,483,647 ,默認(rèn)值是 0 int是值類型,讀內(nèi)存區(qū)間中指定長度單元里的數(shù)據(jù),這塊單元就算不做任何處理也全是0,那么數(shù)值就是0 所以,int 型,永遠(yuǎn)不會為空,從聲明一個 int 變量時,它默認(rèn)就是0,而不是空
一: 利用錯誤捕獲功能判斷
Dim ArrayS() As String
Private Sub Command1_Click()
On Error GoTo z
ReDim ArrayS(10)
If UBound(ArrayS) -1 Then
MsgBox "數(shù)組不為空"
End If
Exit Sub
z:
MsgBox "數(shù)組空"
End Sub
二、 Join方法:
Dim ArrayS() As String
Private Sub Command1_Click()
If (CStr(Join(ArrayS, ""))) = "" Then
MsgBox "為空"
Else
MsgBox "不為空"
End If
End Sub
錯誤提示不說得很清楚么,類型不對。
你操作有數(shù)據(jù)的記錄時,有日期的那個字段它是有數(shù)據(jù)的,直接可以取出date型數(shù)據(jù),而如果為空的話,那就不是date型數(shù)據(jù)了,它就是一個null了,是空的,null和date是兩回事。所以你在寫程序的時候,要檢查一下,字段是不是null,如果是null那就不能往外讀數(shù),不是null,那就直接往外讀。