Foxtable(狐表)用户栏目专家坐堂 → [求助] 关于空行的计算问题


  共有3804人关注过本帖树形打印复制链接

主题:[求助] 关于空行的计算问题

帅哥哟,离线,有人找我吗?
81538475
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1303 积分:10518 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助] 关于空行的计算问题  发帖心情 Post By:2019/8/22 21:06:00 [只看该作者]

For Each r As Row In t.Rows
Dim s As Double =20* r("迟到次数") + 50*r("严重迟到次数")
next


目前由于迟到次数和严重迟到次数中有空白格,而且这两列都是 string

应该如何处理呢。

---------------------------
版本:2019.6.18.1
---------------------------
代码执行出错,错误信息:



System.InvalidCastException: 从字符串“”到类型“Double”的转换无效。 ---> System.FormatException: 输入字符串的格式不正确。

   在 Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)

   在 Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)

   --- 内部异常堆栈跟踪的结尾 ---

   在 Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)

   在 Microsoft.VisualBasic.CompilerServices.Operators.MultiplyObject(Object Left, Object Right)

   在 UserCode.Test()
---------------------------
确定   
---------------------------


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/23 8:44:00 [只看该作者]

迟到次数和严重迟到次数列类型改为整数列

 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1303 积分:10518 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2019/8/23 11:13:00 [只看该作者]

这个表是作为基础,然后需要导入excel表格文件的。
如果新建的时候是整数列,导入会出错
那么新建之后,如何修改列属性呢

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/23 11:35:00 [只看该作者]

使用代码导入,然后做一下判断:http://www.foxtable.com/webhelp/topics/2334.htm

Dim Book As New XLS.Book("c:\test\订单.xls")
Dim 
Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim 
nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -
    Dim 
r As Row = Tables("订单").AddNew()
    For 
m As Integer = 0 To nms.Length - 1
if Tables("订单").Cols(nms(m)).IsNumeric
r(nms(m)) = val(Sheet(n,m).Value)
else
         r(nms(m)) = Sheet(n,m).Value
end if
    Next
Next
Tables(
"订单").ResumeRedraw()

 回到顶部