Foxtable(狐表)用户栏目专家坐堂 → 移动开发时,怎么实现页面上选择Excel数据表导入数据到数据库呢?


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

主题:移动开发时,怎么实现页面上选择Excel数据表导入数据到数据库呢?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
移动开发时,怎么实现页面上选择Excel数据表导入数据到数据库呢?  发帖心情 Post By:2021/2/24 15:48:00 [只看该作者]

移动开发时,怎么实现页面上选择Excel数据表导入数据到数据库呢



如果希望出现一个打开文件对话框,合并用户指定的文件,可以参考下面的代码:

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "订单"
    mg.DataTableName = "订单"
    mg.Merge()
End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/24 15:51:00 [只看该作者]

选择上传文件参考:http://www.foxtable.com/mobilehelp/topics/0054.htm,后台接收文件:http://www.foxtable.com/mobilehelp/topics/0060.htm

后台接收文件后再进行后续处理

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)选择上传文件参考:http://www.foxta...  发帖心情 Post By:2021/2/24 16:04:00 [只看该作者]

老师  那页面按钮点击导出Excel数据呢?有没有可以参考的列子

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/24 16:17:00 [只看该作者]

参考:http://www.foxtable.com/mobilehelp/topics/0148.htm

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)参考:http://www.foxtable.com/mobi...  发帖心情 Post By:2021/2/25 9:42:00 [只看该作者]

老师参照你的指导  我操作了如下
Dim e As RequestEventArgs = args(0)
Dim nms() As String = {"获奖者","性别","获奖名称","授奖单位","获奖时间"}
Dim cmd As New S QLCommand
cmd.Conn ecti
cmd.Comm andText = "Sel ect 获奖者, 性别, 获奖名称,授奖单位,获奖时间 From {表彰} "
Dim dt As DataTable = cmd.ExecuteReader
Dim Book As New XLS.Book
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For c As Integer = 0 To nms.Length - 1
    Sheet(0, c).Value = nms(c)
Next
For r As Integer = 0 To dt.DataRows.Count - 1
    For c As Integer = 0 To nms.Length - 1
        Sheet(r + 1, c).Value = dt.Datarows(r)(nms(c))
    Next
Next

book.PreBuild = False '非报表模请将PreBuild 属性设置为False
e.WriteBook(book,"表彰.xls",True)

可以实现表彰表的导出了    但是获奖时间列没有正确显示数据表中的内容

显示录入如下格式    有没有修正的方法呢?   数据表中的时间如2021-02-09 00:00:00
获奖时间
44255
44240
44202
44236

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/25 9:49:00 [只看该作者]

日期列另外处理
Dim nms() As String = {"获奖者","性别","获奖名称","授奖单位"}
……
For r As Integer = 0 To dt.DataRows.Count - 1
    For c As Integer = 0 To nms.Length - 1
        Sheet(r + 1, c).Value = dt.Datarows(r)(nms(c))
    Next
Sheet(r + 1, 4).Value = format(dt.Datarows(r)("获奖时间"),"yyyy-MM-dd")
Next

 回到顶部