Foxtable(狐表)用户栏目专家坐堂 → 求助!导入EXCEL表数据全部为文本


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

主题:求助!导入EXCEL表数据全部为文本

美女呀,离线,留言给我吧!
0799snow
  51楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
唉,昨晚折腾了好久,还是没自己解决  发帖心情 Post By:2019/6/28 8:01:00 [只看该作者]

唉,昨晚折腾了好久,还是没自己解决。还是求大神来解决
1、我是要在之前的那个“周六周日”列显示中文的星期六和星期日,原来的是显示英文。
2、我需要交易类型为“购买”的交易时间在一小时内的,而不是包含“充值”的,我自己加:and “交易类型”=“购买” 不行。
非常感谢!!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/28 9:24:00 [只看该作者]

1、

 

For Each r As Row In Tables("明细表").rows
    r("周六周日") = Nothing
    If cdate(r("交易时间")).DayOfWeek = 0 OrElse cdate(r("交易时间")).DayOfWeek = 6 Then
        r("周六周日") = format(cdate(r("交易时间")), "dddd")
        For Each dr As DataRow In DataTables("调休表").Select("")
            For i As Integer = 1 To 4
                Dim cname As String = "调为工作日" & i
                If dr(cname) <> Nothing AndAlso cdate(r("交易时间")).Date = dr(cname) Then
                    r("周六周日") = Nothing
                    goto label2
                End If
            Next
        Next
        label2:
    Else
        For Each dr As DataRow In DataTables("调休表").Select("")
            For i As Integer = 1 To 7
                Dim cname As String = "调为休假日" & i
                If dr(cname) <> Nothing AndAlso cdate(r("交易时间")).Date = dr(cname) Then
                    r("周六周日") = dr("调休原因")
                    goto label1
                End If
            Next
        Next
        label1:
    End If
Next


 

2、

 

For Each kh As String In DataTables("明细表").GetValues("卡号")
    Dim drs = DataTables("明细表").Select("卡号='" & kh & "' and 交易类型='购买'", "交易时间")
    For i As Integer = 1 To drs.count-1
        Dim sp As TimeSpan = drs(i)("交易时间") - drs(i-1)("交易时间")
        If sp.TotalHours <= 1 Then
            drs(i)("一小时内") = True
            drs(i)("三小时内") = Nothing
            drs(i)("一天内") = Nothing
        ElseIf sp.TotalHours <= 3 Then
            drs(i)("一小时内") = Nothing
            drs(i)("三小时内") = True
            drs(i)("一天内") = Nothing
        ElseIf sp.TotalHours <= 24 Then
            drs(i)("一小时内") = Nothing
            drs(i)("三小时内") = Nothing
            drs(i)("一天内") = True
        End If
    Next
Next

 


 回到顶部
美女呀,离线,留言给我吧!
0799snow
  53楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
累计销售表计算问题  发帖心情 Post By:2019/6/30 14:21:00 [只看该作者]

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

请看我这个销售表,我期间销售数量的公式在EXCEL表里的是=IF(COUNTIF($B$2:B2,B2)=1,"-",C2-LOOKUP(1,0/($B$1:B1=B2),$C$1:C1)),在狐表里可实现,如何用?非常感谢!
[此贴子已经被作者于2019/6/30 14:23:58编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/7/1 9:21:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
0799snow
  55楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
我参照那个写了,请帮我批出错误在哪  发帖心情 Post By:2019/7/1 10:18:00 [只看该作者]

Select Case e.DataCol.Name

    Case "品名","累计销售数"

        Dim dr As DataRow

        Dim mr As DataRow = e.DataRow

        Dim drs As List(of DataRow)

        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [品名] = '" & mr("品名") & "'", "[_SortKey] Desc")

        If dr Is Nothing Then

            mr("期间销售数") = mr("累计销售数") - mr("累计销售数")

            dr = mr

        End If

        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [品名] = '" & dr("品名") & "'", "[_SortKey]")

        For i As Integer = 1 To drs.Count - 1

            drs(i)("累计销售数") = drs(i)("累计销售数") - drs(i-1)("累计销售数")

        Next

        If e.DataCol.Name = "品名" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then

            dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [品名] = '" & e.OldValue & "'", "[_SortKey] Desc")

            If dr Is Nothing Then

                dr = e.DataTable.Find("[品名] = '" & e.OldValue & "'", "[_SortKey]")

                If dr IsNot Nothing Then

                    dr("期间销售数") = dr("累计销售数") - dr("累计销售数")

                End If

            End If

            If dr IsNot Nothing Then

                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [品名] = '" & dr("品名") & "'", "[_SortKey]")

                For i As Integer = 1 To drs.Count - 1

                    drs(i)("期间销售数") = drs(i)("累计销售数") - drs(i-1)("累计销售数")                Next

            End If

        End If

End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/7/1 11:13:00 [只看该作者]

上传具体实例测试。

 回到顶部
美女呀,离线,留言给我吧!
0799snow
  57楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
好的,上传给您  发帖心情 Post By:2019/7/1 11:16:00 [只看该作者]

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

之前命名是销售,怕别人不理解,改为了行程
[此贴子已经被作者于2019/7/1 11:28:42编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/7/1 11:31:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目 (2).table


 回到顶部
美女呀,离线,留言给我吧!
0799snow
  59楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
我输入数据,怎么变动  发帖心情 Post By:2019/7/1 11:51:00 [只看该作者]

我把原来执行的结果删除了,然后再输入数据,没变动得出那个计算结果来呀

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/7/1 11:53:00 [只看该作者]

以下是引用0799snow在2019/7/1 11:51:00的发言:
我把原来执行的结果删除了,然后再输入数据,没变动得出那个计算结果来呀

 

重置列

 

即可重算所有行的C列值。

菜单的“日常工作”功能区,也有重置列的按钮:


 回到顶部
总数 91 上一页 1 2 3 4 5 6 7 8 9 10 下一页