Foxtable(狐表)用户栏目专家坐堂 → 能否只导入部分列?


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

主题:能否只导入部分列?

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
能否只导入部分列?  发帖心情 Post By:2014/10/30 12:39:00 [只看该作者]

示列三

导入Excel文件:

Dim ip as New Importer
ip
.SourcePath = "c:\Data\销售管理.xls" '指定数据文件
ip
.SourceTableName = "订单" '指定要导入的表
ip
.NewTableName ="订单" '导入后的表名
ip.Format = "Excel"
'指定导入格式
ip
.Import()

 

最高指示是导入整个表,可以只导入部分列么?


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/10/30 12:45:00 [只看该作者]

理解错误,应该用合并数据

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


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


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/10/31 11:24:00 [只看该作者]

参考合并Access文件的用法,用对话框选定Excel文件合并数据:

 

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
Dim mg As New Merger
mg.SourcePath = dlg.FileName
mg.Format = "excel" '指定格式
mg.SourceTableName = "考勤机数据" '指定要合并的表
mg.DataTableName = "考勤机数据" '指定接收数据的表
mg.Merge() '

End If

 

下面这句不知道怎么改:

mg.SourceTableName = "考勤机数据" '指定要合并的表


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


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

1、表名必须一致

 

2、如果要用别的表名,就先打开excel,读取表名

 

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
   
    Dim book As new XLS.Book(dlg.FileName)
   
    mg.Format = "excel" '指定格式
    mg.SourceTableName = book.Sheets(0).Name & "$" '指定要合并的表

    mg.DataTableName = "考勤机数据" '指定接收数据的表
    mg.Merge() '
   
End If


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/10/31 14:20:00 [只看该作者]

 

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog

dlg.Filter= "Excel文件|*.xls" '设置筛选器

If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮

    Dim mg As New Merger

    mg.SourcePath = dlg.FileName

    Dim book As new XLS.Book(dlg.FileName)

    mg.Format = "excel" '指定格式

    mg.SourceTableName = book.Sheets(0).Name & "考勤机数据" '指定要合并的表

    mg.DataTableName = "考勤机数据" '指定接收数据的表

    mg.Merge() '   

End If

 


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

 

为什么表名多出"说明"两字,导致不能识别


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


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

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog

dlg.Filter= "Excel文件|*.xls" '设置筛选器

If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮

    Dim mg As New Merger

    mg.SourcePath = dlg.FileName

    Dim book As new XLS.Book(dlg.FileName)

    mg.Format = "excel" '指定格式

    mg.SourceTableName = book.Sheets(0).Name & "$"

    mg.DataTableName = "考勤机数据" '指定接收数据的表

    mg.Merge() '   

End If


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/10/31 14:29:00 [只看该作者]

用系统合并命令 

Syscmd.Table.QuickMerge()

偶尔能合并,有时不能,奇怪.

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


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

 呃,高速合并,合并的是你当前选择的表格。

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
  发帖心情 Post By:2014/11/3 16:47:00 [只看该作者]

这太奇葩了:

从考勤机导出数据保存为EXCEL格式,用上面的代码合并到狐表,反复试了好多次,始终有一列的数据并不进去,没折,试着在那列的第一行输入一个数据,看结果,居然那列的所有数据并进去了,原来能并进去的其它列第一行均有数据,将手动输入的那个数据清除,再试,果然那列所有数据都并不进去了.

现在如果第一行无数据,以人工输入一个0的办法来解决问题.


 回到顶部
总数 11 1 2 下一页