Foxtable(狐表)用户栏目专家坐堂 → EXCEL导入临时表


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

主题:EXCEL导入临时表

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/26 22:43:00 [只看该作者]

不要多此一举

Dim Book As New XLS.Book(dlg.FileName)

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/26 22:48:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog 
dlg.Filter = "Excel文件|*.xlsx|Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim dtb As New DataTableBuilder("订单")
    For n As Integer = 1 To Sheet.cols.Count - 1
        dtb.AddDef(Sheet(0, n).Value, GetType(String), 255)
    Next
    dtb.Build()
    MessageBox.Show("5")
End If

提示,未将对象引用设置到对象的实例。
不能生成,不知道错哪了
[此贴子已经被作者于2022/4/26 22:49:03编辑过]

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/26 23:09:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog 
dlg.Filter = "Excel文件|*.xlsx|Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim dtb As New DataTableBuilder("订单")
    For n As Integer = 0 To Sheet.cols.Count - 1
MessageBox.Show(Sheet(0, n).Value)
        dtb.AddDef(Sheet(0, n).Value, GetType(String), 255)
    Next
    dtb.Build()
    MessageBox.Show("5")
End If

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/26 23:32:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog 
dlg.Filter = "Excel文件|*.xlsx|Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim dtb As New DataTableBuilder("订单")
    For n As Integer = 1 To Sheet.cols.Count - 1
        If Sheet(0, n).Value <> "" Then
            dtb.AddDef(Sheet(0, n).Value, GetType(String), 255)
        End If
    Next
    dtb.Build()
    Dim tb As Table = Tables("订单")
    For n As Integer = 1 To Sheet.Rows.Count - 1
        Dim r As Row = tb.AddNew()
        For m As Integer = 0 To tb.cols.Count - 1
           tb(tb.Cols(m).Name) = Sheet(n, m).Value
        Next
        Tables("订单").ResumeRedraw()
    Next
End If

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

这个代码错在哪里?



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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/27 8:24:00 [只看该作者]

        Dim r As Row = tb.AddNew()
        For m As Integer = 0 To tb.cols.Count - 1
           r(tb.Cols(m).Name) = Sheet(n, m).Value
        Next

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


加好友 发短信
等级:婴狐 帖子:4 积分:86 威望:0 精华:0 注册:2021/6/30 8:52:00
  发帖心情 Post By:2022/4/30 22:39:00 [只看该作者]

Dim st As Date = Date.Now()
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件(*.xlsx)|*.xlsx|Excel文件(*.csv)|*.csv|Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*" '设置筛选器
Dim dtb As new DataTableBuilder("表名称")
dtb.AddDef("表名称",Gettype(String),200)
dtb.Build()
MainTable= Tables("表名称")
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮

    Dim Wb As new XLS.Book(dlg.FileName)
    For Each Ws As XLS.Sheet In Wb.Sheets
        Dim nws As String = Ws.name.split("(")(0)
        Dim dr As DataRow = DataTables("表名称").AddNew()
        dr("表名称") = nws
    Next

End If

popmessage("耗时:" & (Date.Now - st).TotalSeconds & "秒",,,5)
大佬,我这代码总是报内存溢出,求解

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/2 11:36:00 [只看该作者]

如果是这段代码的问题,应该是execl文件里有太多的数据

 回到顶部
总数 17 上一页 1 2