Foxtable(狐表)用户栏目专家坐堂 → [求助]关于数据导入导出


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

主题:[求助]关于数据导入导出

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
[求助]关于数据导入导出  发帖心情 Post By:2023/8/16 9:19:00 [显示全部帖子]

如何将foxtable的字段的内容导出到税务局开piao系统特定模版的对应字段

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:货物运输服务导入特定信息模版.xls


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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2023/8/16 12:20:00 [显示全部帖子]

窗口,绑定主表及子表(都是作为副本表),主表同一合同号下有多条记录,根据合同号筛选后,子表也会根据主表合同号的筛选结果显示对应数据,想加个按钮,只要点下按钮,该子表下的数据就会自动汇总到税务局开piao系统特定模版里,这个代码应该如何写?

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2023/8/16 12:55:00 [显示全部帖子]

这个从帮助找到,似乎已解决

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2023/12/7 11:43:00 [显示全部帖子]

税务局导入文件模板又变了,导出到Excel要求的模板
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求助按要求导出到模板.zip

导出的值从第四行开始写入,列标题第一行、第二行、第三行的列名相同也可满足税务局导入文件要求,如何实现列标题第一行、第二行、第三行填写相同的列名?

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2024/7/19 10:53:00 [显示全部帖子]

2种导入代码,合并使用,首先选择需要导入的文件,然后导入对应字段的内容,老师帮解决下呢:
自己选择文件的导入代码
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "Excell文件 .xlsx|*.xlsx|Excell文件 .xls|*.xls" '设置筛选器

If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.Format = "excel" '指定格式
    
    
    'mg.Filter = "[交易时间] > #5/31/1999#" '指定合并条件
    'mg.Filter = "[记账时间] > #5/31/1999#" '指定合并条件
    'mg.Filter = "[清分时间] > #5/31/1999#" '指定合并条件
    
    mg.Merge() '开始合并
    
End If

导入指定字段内容的代码
 Dim Book As New XLS.Book("D:\360安全浏览器下载\管理系统下载的数据\管理系统数据下载为导出\中交中石油电子加油卡.xlsx")
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    
    For i As Integer = 0 To Sheet.Rows.Count - 1
        If sheet(0, i).Text = "中石油电子卡加油列表" Then
            messagebox.show("文件修复未完成,不能继续!请再次点击 修复待导入数据 按钮!", "提示")
            Return
        End If
    Next
    
    Tables("中交中石油电子加油卡").StopRedraw()
    '注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
    Dim nms() As String = {"电子加油卡", "面值", "单价优惠", "实付金额", "实付返利金", "分配状态", "首次分配用户手机号", "首次分配用户车牌号", "首次分配用户姓名", "当前持有用户手机号", "当前持有用户车牌号", "当前持有用户姓名", "首次分配时间", "卡券状态", "加油站点", "加油时间", "支付方式", "采购时间", "订单号", "备注"}
    '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
    For n As Integer = 1 To Sheet.Rows.Count - 1
        Dim r As Row = Tables("中交中石油电子加油卡").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n, m).Value
        Next
    Next
    Tables("中交中石油电子加油卡").ResumeRedraw()
[此贴子已经被作者于2024/7/19 10:56:42编辑过]

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2024/7/19 15:21:00 [显示全部帖子]

执行后,foxtable表里多了一个空行,感觉是标题行,直接从Excel数据行开始导入应该如何修改呢?
[此贴子已经被作者于2024/7/19 15:24:24编辑过]

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2024/7/22 10:12:00 [显示全部帖子]

以下代码是根据编号判断的。而我要导入的文件唯一可用作比较的列时一串数字,其字符长度有36位,下面的代码可用吗?应该如何修改下代码?
Dim Book As New XLS.Book("c:\test\订单.xls")
Tables(
"订单").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致

Dim
nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题

For
n As Integer = 1 To Sheet.Rows.Count -1
   
Dim bh As String = sheet(n,0).Text
   
If DataTables("订单").Find("编号 = '" & bh & "'") Is Nothing Then '如果不存在同编号的订单
        Dim
r As Row = Tables("订单").AddNew()
        For
m As Integer = 0 To nms.Length - 1
           
r(nms(m)) = Sheet(n,m).Value
       
Next
    End If
Next
Tables(
"订单").ResumeRedraw()

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2024/7/25 22:07:00 [显示全部帖子]

我必须要用下代码合并数据。我的Excel文件列名是“ID”想导入到表“编号”列、Excel列名是“客户名称”列导入到表“客户”列,在不修改Excel文件列名下,下代码如何修改?

如果订单表中已经存在相同编号的订单,那么就跳过此订单,可以将代码改为:

Dim Book As New XLS.Book("c:\test\订单.xls")
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Tables(
"订单").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致

Dim
nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题

For
n As Integer = 1 To Sheet.Rows.Count -1
   
Dim bh As String = sheet(n,0).Text
   
If DataTables("订单").Find("编号 = '" & bh & "'") Is Nothing Then '如果不存在同编号的订单
        Dim
r As Row = Tables("订单").AddNew()
        For
m As Integer = 0 To nms.Length - 1
           
r(nms(m)) = Sheet(n,m).Value
       
Next
    End If
Next
Tables(
"订单").ResumeRedraw()


 回到顶部