Powershell 判断字符是否为空或者Empty(引用类String)

今天写Powershell(以下简称PS)调用Excel的时候发现判断某个单元格出现非Null的情况(肉眼看上去是空,而且选择那个单元格双击也是空),回顾在写Vba的时候都是

range("A1") <> "" , 但是PS规范里除了 ""(也就是Emtpy)还有一个Null,这样在判断一个单元格是否为真的空的情况下必须用

$sht.range("A1").value() -ne $null -and $sht.range("A1").value() -ne "" ($sht.range("A1").value() -ne $null 必须放前面,因为$sht.range("A1").value() -ne ""的话假如$sht.range("A1").value()为$null就会出错)

是不是很麻烦,这边推荐一个类[String]下的方法:[String]::IsNullOrEmpty() , 里面传入 $sht.range("A1").value()即可,返回True即判断为Null或者Empty。

 

再说一下为什么$sht.range("A1").value()会等于""(或者Empty),因为Sht.UsedRange的单元格是属于已经引用单元格,那么引用单元格就有可能是Empty

你可能感兴趣的:(Powershell,Excel)