以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何让double列显示为空?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91160)

--  作者:pladic
--  发布时间:2016/9/30 17:09:00
--  [求助]如何让double列显示为空?
从excel表中手动导入到狐表的double列,如果execl表的单元格为空,怎样使狐表的列值也显示为空而不是0?

我的代码是:
if sheet.(n,m).value="" then
s("金额")=nothing
else
s("金额")=sheet.(n,m).value
endif

报错为:从字符串“ ”到类型“Double”的转换无效。

如何表示金额列的值等于空白?
[此贴子已经被作者于2016/9/30 17:12:47编辑过]

--  作者:有点蓝
--  发布时间:2016/9/30 17:26:00
--  
单元格里有空格吧,试试

If sheet.(n,m).value.trim() ="" Then
    
    s("金额")=Nothing
Else
    
    s("金额")=sheet.(n,m).value
End If

--  作者:pladic
--  发布时间:2016/10/8 10:19:00
--  回复:(有点蓝)单元格里有空格吧,试试If sheet.(n,...
试过了,不行。
用 .length<>0 也不行。

实际情况就是:
在excel表中,有金额列。如果没有实际金额就按回车或直接用鼠标点到其它列。
在狐表中,金额列设为double类。

现状,如excel表中金额列有>=0的值时,可以正常导入。
如excel表中金额列为空时,就报错:从字符串“ ”到类型“double”的转换无效。

卡在这了,求专家老师们指点!!!



--  作者:有点蓝
--  发布时间:2016/10/8 10:32:00
--  
Dim je As Double = Val(sheet.(n,m).value)

If je = 0 Then
    
    s("金额")=Nothing
Else
    
    s("金额")=je
End If

--  作者:pladic
--  发布时间:2016/10/8 10:52:00
--  回复:(有点蓝)Dim je As Double = Val(sheet.(n,m)...
这样也不行。
还试了 if isnumeric(sheet(n,m).value) then 
s("金额")=sheet(n,m).value
else
s("金额")=nothing
endif

也不行。

可否先将excel表金额单元格的值,赋给一个字符型变量,对这个字符型变量判断长度为0或值为空?
 

--  作者:有点蓝
--  发布时间:2016/10/8 10:54:00
--  
看4楼
--  作者:pladic
--  发布时间:2016/10/8 11:06:00
--  回复:(有点蓝)看4楼
4楼的方法试了,不行。

dim je as string =sheet(n,m).vlaue
if je.length=0 then  或者 if je.trim()="" then
s("金额")=nothing
else
s("金额")=val(je)
endif

这样也报同样的错
[此贴子已经被作者于2016/10/8 11:08:22编辑过]

--  作者:有点蓝
--  发布时间:2016/10/8 11:23:00
--  
用4楼代码,测试没有问题
--  作者:有点蓝
--  发布时间:2016/10/8 11:23:00
--  
不行就上例子测试