Foxtable(狐表)用户栏目专家坐堂 → 关于合并


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

主题:关于合并

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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
关于合并  发帖心情 Post By:2018/8/15 20:33:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

老师,上图是foxtable的合并窗口,我想请教两个问题:

 

1、如何把上传的Excel文件的文件名显示在请选择要合并的表那里?

2、图中的那个表格 ,把标题也去掉了,点击要合并的表,表就会显示在那里,这个是咋实现的?

 

请老师给我一些类似的参考例子,我先研究下。

谢谢老师!


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


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


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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/15 23:19:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

老师,上图中,我获取的表两个sheet名称,我希望,我点击一个名称,该表sheet就显示到下表中

 

那个框的textchanged事件代码:

 

If e.Sender.Text > "" Then
    Dim t As Table = e.Form.Controls("Table1").Table
    Dim Book As New XLS.Book( vars("dlgFileName"))
    Dim Index As Integer = 0
    For n As Integer = 0 To Book.Sheets.count-1
       If  Book.Sheets(n).name = e.Sender.Text Then
            Index=n
            Exit For
       End If
    Next
    t.DataSource = Book.Sheets(Index)
End If

我感觉逻辑对着了 ,可是不知道为啥那个表不显示,请老师指导下,如果老师觉得我表述不清,我可以做实例哈


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


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

没有这种代码

 

t.DataSource = Book.Sheets(Index)

 

照抄2楼的帖子,或者参考

 

下载信息  [文件大小:312.0 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:excel作为数据源_合并.table


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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/15 23:48:00 [只看该作者]

以下是引用有点甜在2018/8/15 23:27:00的发言:

没有这种代码

 

t.DataSource = Book.Sheets(Index)

 

照抄2楼的帖子,或者参考

 

下载信息  [文件大小:312.0 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:excel作为数据源_合并.table

Dim dlg As new OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
If dlg.ShowDialog = DialogResult.OK Then
    If Connections.Contains("test") Then
        If DataTables.Contains("临时表") Then DataTables.Unload("临时表")
        Connections.Delete("test")
    End If
    Connections.Add("test", "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dlg.FileName & ";Extended Properties='Excel 8.0;HDR=yes'")
    Dim tns As String = ""
    For Each tn As String In Connections("test").GetTableNames
        tns &= tn & "|"
    Next
    e.Form.Controls("ComboBox1").ComboList = tns.TrimEnd("|")
End If

 

老师,请您简要解释一下红色代码的作用,我不太理解这里


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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/15 23:55:00 [只看该作者]

我看指南上说是数据源,我感觉这个不需要数据源嘛,直接合并到里面指定的表里,我理解的还是不太透彻,我去看指南

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


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

照抄2楼、4楼实例。和你要做的有什么差距?上传具体项目测试说明。

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


加好友 发短信
等级:幼狐 帖子:92 积分:824 威望:0 精华:0 注册:2017/11/23 8:55:00
  发帖心情 Post By:2018/8/16 9:28:00 [只看该作者]

以下是引用有点甜在2018/8/15 23:27:00的发言:

没有这种代码

有点甜老师这么晚了还没休息?要注意身体,身体是革命的本钱哟。。。


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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/16 15:53:00 [只看该作者]

以下是引用有点甜在2018/8/15 23:27:00的发言:

没有这种代码

 

t.DataSource = Book.Sheets(Index)

 

照抄2楼的帖子,或者参考

 

下载信息  [文件大小:312.0 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:excel作为数据源_合并.table

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

老师,

1、上图中年龄的数据类型是整型,如果用户导入的列中年龄列写的是字符,则不能导入,

 

2、把不能导入的单元格标红,并把这个一行导出

 

老师,上面这两个需求怎么实现呀?

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

[此贴子已经被作者于2018/8/16 15:55:31编辑过]

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


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

1、

 

Dim t As Table = e.Form.controls("table1").Table
Dim ls As object = t.GetCheckedRows
If ls.count = 0 Then ls = t.Rows
Dim dt As DataTable = DataTables("表A")
For Each r As Row In ls
    Dim dr As DataRow = dt.find("身份证号='" & r("身份证号") & "'")
    If dr Is Nothing Then
        Dim d As Double
        If Double.TryParse(r("年龄"),d) = False Then
            r.DataRow.SetError("年龄", "不是数字")
        Else
            dr = dt.AddNew()
            For Each dc As Col In t.Cols
                If dt.DataCols.Contains(dc.name) Then
                    dr(dc.Name) = r(dc.name)
                End If
            Next
        End If
    End If
Next
msgbox("合并完成")

 

2、动态添加一列,如果出错的,标记一下,最后你可以根据标记列筛选出数据

 

http://www.foxtable.com/webhelp/scr/1428.htm

 


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