Foxtable(狐表)用户栏目专家坐堂 → [求助]隐藏或混淆重要数据


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

主题:[求助]隐藏或混淆重要数据

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


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/7/30 12:10:00 [只看该作者]

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog =DialogResult.OK Then
    Dim t As Table = Tables("工资统计表")
    Dim nms As String() = {"年份","月份","天数","部门", "职位","岗位性质","姓名","入职日期"}
    Dim nms2 As String() = {"部门","职位","岗位性质","姓名"} 
    t.StopRedraw()
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim r As Row = Tables("公工资统计表").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
            If Array.IndexOf(nms2,nms(m)) > -1 Then
                r(nms(m)) = EncryptText(Sheet(n,m).Value,"a23","op#")
            Else
                r(nms(m)) = Sheet(n,m).Value
            End If
        Next
    Next
    t.ResumeRedraw()
End If

导入总提示:从字符串“0”到类型“Date”的转换无效。日期列怎么改都没用

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/30 13:38:00 [只看该作者]

execl入职日期有非法的日期数据,判断有一下可以转换为日期值的再赋值:http://www.foxtable.com/webhelp/topics/0324.htm

For m As Integer = 0 To nms.Length - 1
            ‘去掉这行’r(nms(m)) = Sheet(n,m).Value
            If Array.IndexOf(nms2,nms(m)) > -1 Then
                r(nms(m)) = EncryptText(Sheet(n,m).Value,"a23","op#")
            Else
                r(nms(m)) = Sheet(n,m).Value
            End If
        Next

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


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/7/30 14:31:00 [只看该作者]

For m As Integer = 0 To nms.Length - 1
        Dim d As Date '变量d用于存储转换结果
            If Array.IndexOf(nms2,nms(m)) > -1 Then
                r(nms(m)) = EncryptText(Sheet(n,m).Value,"a23","op#")
            Elseif Date.TryParse(r("入职日期"),d) Then
                r(nms(m)) = Sheet(n,m).Value
Else
    Output.Show("无效日期格式") 
            End If
        Next

还是同样的错误提示:从字符串“0”到类型“Date”的转换无效

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/30 15:05:00 [只看该作者]

For m As Integer = 0 To nms.Length - 1
        Dim d As Date '变量d用于存储转换结果
            If Array.IndexOf(nms2,nms(m)) > -1 Then
                r(nms(m)) = EncryptText(Sheet(n,m).Value,"a23","op#")
            Else
if nms(m)= “入职日期
if Date.TryParse(r("入职日期"),d) Then
                r(nms(m)) = d
Else
     Output.Show("无效日期格式" & Sheet(n,m).Value ) 
            End If
else
r(nms(m)) = Sheet(n,m).Value
endif
        Next

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/30 15:05:00 [只看该作者]

另外日期型列不能做加密

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


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/7/30 18:03:00 [只看该作者]

搞不定,麻烦了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:321.xls

仍提示错误
另外,貌似有一条记录导进来,但入职日期会变成今天的日期


[此贴子已经被作者于2019/7/30 18:05:21编辑过]

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


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

Dim nms As String() = {"年份","月份","天数",".....
这里列的位置和顺序必须和execl里的位置顺序完全一致,比如岗位性质就没有

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


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/7/30 20:39:00 [只看该作者]

完全一致后是可以导入,但入职日期还是不对的,导入后日期变成了今天的日期

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/30 20:52:00 [只看该作者]

If Array.IndexOf(nms2,nms(m)) > -1 Then
                r(nms(m)) = EncryptText(Sheet(n,m).Value,"a23","op#")
            ElseIf nms(m)= "入职日期" Then
                If Date.TryParse(Sheet(n,m).Value,d) Then
                    r(nms(m)) = d
                Else
                    Output.Show("无效日期格式" & Sheet(n,m).Value )
                End If


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


加好友 发短信
等级:六尾狐 帖子:1309 积分:10117 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/7/30 20:58:00 [只看该作者]

可能是表有问题,把所有的数据都放进来,还有其他的错误提示
已经用项目导出来的表,然后把数据复制进去,数据例的单元格格式也设置成了数值类型
Dim nms As String()里的内容和顺序也完全一致,仍有下面这个错误提示
.NET Framework 版本:2.0.50727.8806
Foxtable 版本:2018.10.9.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
从字符串“ ”到类型“Double”的转换无效。
输入字符串的格式不正确。

把所有空白单元格全部用0填充后可以导入了,但入职日期列还是那个问题
[此贴子已经被作者于2019/7/30 21:10:07编辑过]

 回到顶部
总数 22 上一页 1 2 3 下一页