Foxtable(狐表)用户栏目专家坐堂 → [分享] 窗口表导入EXCEL数据


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

主题:[分享] 窗口表导入EXCEL数据

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57590 威望:0 精华:15 注册:2008/9/1 9:45:00
[分享] 窗口表导入EXCEL数据  发帖心情 Post By:2014/6/27 16:04:00 [只看该作者]

做个窗口,放入一个表控件,做一个按钮测试:

 Dim TableName as string = "窗口1_Table1"
 Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
        dlg.Filter = "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb"
        If dlg.ShowDialog = DialogResult.OK Then '如果用户单击了确定按钮
            Dim Book As New XLS.Book(dlg.FileName)
            Dim Sheet As XLS.Sheet = Book.Sheets(0)
            Tables(TableName).StopRedraw()
            Dim dtb As New DataTableBuilder("统计")
            For n1 As Integer = 1 To Sheet.Cols.Count - 1
                dtb.AddDef(Sheet(0, n1).Text, GetType(String), 32)
            Next
            Tables(TableName).DataSource = dtb.BuildDataSource
            For n As Integer = 1 To Sheet.Rows.Count - 1
                Dim bh As String = Sheet(n, 0).Text
                Dim dr As Row = Tables(TableName).AddNew()
                For m As Integer = 0 To Tables(TableName).Cols.Count - 1
                    dr(Tables(TableName).Cols(m)) = Sheet(n, m).Value
                Next
            Next
            Tables(TableName).ResumeRedraw()

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/27 16:09:00 [只看该作者]

谢谢分享

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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
  发帖心情 Post By:2014/6/27 22:30:00 [只看该作者]

不错

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
  发帖心情 Post By:2014/6/27 23:39:00 [只看该作者]

为什么我按照一样写 一点就卡死掉~
窗口名称叫 当天配送会员窗口  加了个 Table 名称是默认的Table1  然后加了个button控件 下面是写在Click事件里面的~
Dim TableName As String = "当天配送会员窗口_Table1"
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb"
If dlg.ShowDialog = DialogResult.OK Then '如果用户单击了确定按钮
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables(TableName).StopRedraw()
    Dim dtb As New DataTableBuilder("统计")
    For n1 As Integer = 1 To Sheet.Cols.Count - 1
        dtb.AddDef(Sheet(0, n1).Text, Gettype(String), 32)
    Next
    Tables(TableName).DataSource = dtb.BuildDataSource
    For n As Integer = 1 To Sheet.Rows.Count - 1
        Dim bh As String = Sheet(n, 0).Text
        Dim dr As Row = Tables(TableName).AddNew()
        For m As Integer = 0 To Tables(TableName).Cols.Count - 1
            dr(Tables(TableName).Cols(m)) = Sheet(n, m).Value
        Next
    Next
    Tables(TableName).ResumeRedraw()
End If
一点按钮就卡死了??

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5879 威望:0 精华:0 注册:2013/7/29 12:00:00
  发帖心情 Post By:2014/6/27 23:57:00 [只看该作者]

Dim TableName As String = "窗口2_Table1"
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb"
If dlg.ShowDialog = DialogResult.OK Then '如果用户单击了确定按钮
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables(TableName).StopRedraw()
    Dim dtb As New DataTableBuilder("统计")
    For n1 As Integer = 1 To Sheet.Cols.Count - 1
        dtb.AddDef(Sheet(0, n1).Text, Gettype(String), 32)
    Next
    Tables(TableName).DataSource = dtb.BuildDataSource
    For n As Integer = 1 To Sheet.Rows.Count - 1
        Dim bh As String = Sheet(n, 0).Text
        Dim dr As Row = Tables(TableName).AddNew()
        For m As Integer = 0 To Tables(TableName).Cols.Count - 1
            dr(Tables(TableName).Cols(m)) = Sheet(n, m).Value
        Next
    Next
End If
Tables(TableName).ResumeRedraw()

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5879 威望:0 精华:0 注册:2013/7/29 12:00:00
  发帖心情 Post By:2014/6/28 0:21:00 [只看该作者]

请教楼主,如何与外部表对比后导入不重复的记录?


 回到顶部