Foxtable(狐表)用户栏目专家坐堂 → [求助]将EXCEL导入公式如何写?


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

主题:[求助]将EXCEL导入公式如何写?

帅哥哟,离线,有人找我吗?
大雪山
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:290 积分:2931 威望:0 精华:0 注册:2008/9/29 10:13:00
  发帖心情 Post By:2017/11/29 8:59:00 [只看该作者]

将红箭头所指的内容导入成绩表中,目前只能导入第一行,其它部分没有反应,不知怎么修改


图片点击可在新窗口打开查看此主题相关图片如下:54gj%$02n{1a)m2a1o_93$n.png
图片点击可在新窗口打开查看

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


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

Dim dt As DataTable = DataTables("成绩")
Dim Result As DialogResult
Result = MessageBox.Show("确定要导入吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    Dim dlg As New OpenFileDialog
    dlg.Filter = "Excel文件|*.xls"
    dlg.MultiSelect = True '允许选择多个文件
    If dlg.ShowDialog =DialogResult.OK Then
        Dim Book As New XLS.Book(dlg.FileName)
        Dim Sheet As XLS.Sheet = Book.Sheets("Sheet1")
        dt.ResumeRedraw()
        dt.StopRedraw()
        'systemready = False
        Dim nms As New Dictionary(Of String, Integer)
        Dim dic As new Dictionary(Of DataRow, Integer)
        Dim ls As new List(Of Integer)
        For c As Integer = 0 To sheet.Cols.Count - 1
            If  dt.DataCols.Contains(sheet(0,c).Text.replace(" ", "")) Then
                nms.Add(sheet(0,c).Text.replace(" ", ""), c)
            End If
        Next
        For n As Integer = 1 To Sheet.Rows.Count -1
            Dim sfzhm As String = sheet(n,nms("学号")).Text
            Dim kc As String = sheet(n,nms("课程")).Text
            If sfzhm = "" Then Continue For
            Dim dr As DataRow = dt.Find("学号 = '" & sfzhm & "' and 课程 = '" & kc & "'")
            If dr Is Nothing Then
                ls.add(n)
            Else
                dic.Add(dr, n)
            End If
        Next
        For Each key As DataRow In dic.Keys
            For Each m As String In nms.keys
                If dt.DataCols(m).IsBoolean Then
                    If Sheet(dic(key),nms(m)).Text = "" OrElse Sheet(dic(key),nms(m)).Text = "False" OrElse Sheet(dic(key),nms(m)).Value = 0 Then
                        key(m) = False
                    Else
                        key(m) = True
                    End If
                Else If dt.DataCols(m).Expression > "" Then
                    '表达式列
                Else If dt.DataCols(m).IsNumeric Then
                    key(m) = val(Sheet(dic(key),nms(m)).Value)
                Else If dt.DataCols(m).IsDate Then
                    Dim d As Date
                    If Date.TryParse(Sheet(dic(key),nms(m)).Value, d)
                        key(m) = d
                    End If
                   
                Else
                    key(m) = Sheet(dic(key),nms(m)).Value
                End If
            Next
        Next
        For Each l As Integer In ls
            Dim ndr As DataRow = dt.AddNew
            For Each m As String In nms.keys
                If dt.DataCols(m).IsBoolean Then
                    If Sheet(l,nms(m)).Text = "" OrElse Sheet(l,nms(m)).Text = "False" OrElse Sheet(l,nms(m)).Value = 0 Then
                        ndr (m) = False
                    Else
                        ndr (m) = True
                    End If
                Else If dt.DataCols(m).Expression > "" Then
                    '表达式列
                Else If dt.DataCols(m).IsNumeric Then
                    ndr (m) = val(Sheet(l,nms(m)).Value)
                Else If dt.DataCols(m).IsDate Then
                    Dim d As Date
                    If Date.TryParse(Sheet(l,nms(m)).Value, d)
                        ndr (m) = d
                    End If
                Else
                   
                    ndr (m) = Sheet(l,nms(m)).Value
                End If
            Next
        Next
        dt.ResumeRedraw()
        'systemready = True
    End If
End If

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


加好友 发短信
等级:童狐 帖子:290 积分:2931 威望:0 精华:0 注册:2008/9/29 10:13:00
  发帖心情 Post By:2017/11/29 22:59:00 [只看该作者]

将删清除学生表《毕业状态》未选勾的关联成绩表中的数据  的公式
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据2.table


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


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

Dim xhs As String = DataTables("学生").GetComboListString("学号", "毕业状态 = false")
DataTables("成绩").DeleteFor("学号 in ('" & xhs.Replace("|", "','") & "')")

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


加好友 发短信
等级:童狐 帖子:290 积分:2931 威望:0 精华:0 注册:2008/9/29 10:13:00
  发帖心情 Post By:2017/12/2 18:25:00 [只看该作者]

1.这个导入代码公式如何写?    2. 23楼的被删除的部分内容保存到临时表QQ中公式

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

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


图片点击可在新窗口打开查看此主题相关图片如下:b%f%(t`dv8~13d5h78xi~u.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/12/3 8:10:52编辑过]

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


加好友 发短信
等级:童狐 帖子:290 积分:2931 威望:0 精华:0 注册:2008/9/29 10:13:00
  发帖心情 Post By:2017/12/3 15:05:00 [只看该作者]

我这问题能解决吗?


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


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

'''
Dim dlg As new OpenFileDialog
dlg.Filter = "文本文件|*.txt"
Tables("成绩").StopRedraw
If dlg.ShowDialog = DialogResult.OK Then
    Dim strs As String = FileSys.ReadAllText(dlg.FileName,encoding.default)
    Dim rs() As String = strs.Split(" ")
    For Each s As String In rs
        Dim i As Integer = s.IndexOf(")")
        If i >= 0 Then
            Dim nr As Row = Tables("成绩").addnew
            nr("代码") = s.SubString(1, i-1)
            nr("课程") = s.SubString(i+1)
        End If
    Next
End If
Tables("成绩").ResumeRedraw

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


加好友 发短信
等级:童狐 帖子:290 积分:2931 威望:0 精华:0 注册:2008/9/29 10:13:00
  发帖心情 Post By:2017/12/4 4:30:00 [只看该作者]

这公式删清除学生表《毕业状态》未选勾的关联成绩表中的数据,修改成删除的部分内容同时自动保存到被删除表

Dim xhs As String = DataTables("学生").GetComboListString("学号", "毕业状态 = false")
DataTables("成绩").DeleteFor("学号 in ('" & xhs.Replace("|", "','") & "')")

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:数据清除.table

[此贴子已经被作者于2017/12/4 4:35:13编辑过]

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


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

Dim xhs As String = DataTables("学生").GetComboListString("学号", "毕业状态 = false")
For Each dr As DataRow In DataTables("成绩").Select("学号 In ('" & xhs.Replace("|", "','") & "')")
    Dim ndr As DataRow = DataTables("被删除").AddNew
    ndr("姓名") = ""
    ndr("学号") = dr("学号")
    ndr("课程") = dr("课程")
Next
DataTables("成绩").DeleteFor("学号 in ('" & xhs.Replace("|", "','") & "')")

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


加好友 发短信
等级:童狐 帖子:290 积分:2931 威望:0 精华:0 注册:2008/9/29 10:13:00
  发帖心情 Post By:2017/12/6 19:16:00 [只看该作者]

这个成绩导入代码公式如何改写?

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

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


图片点击可在新窗口打开查看此主题相关图片如下:rkw0(p1ckl$~61u%k%6c.png
图片点击可在新窗口打开查看

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