以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  能否只导入部分列?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=59174)

--  作者:石四
--  发布时间: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()

 

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


--  作者:石四
--  发布时间:2014/10/30 12:45:00
--  
理解错误,应该用合并数据
--  作者:有点甜
--  发布时间:2014/10/30 14:03:00
--  

http://www.foxtable.com/help/topics/0685.htm

 


--  作者:石四
--  发布时间: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 = "考勤机数据" \'指定要合并的表


--  作者:有点甜
--  发布时间: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


--  作者:石四
--  发布时间: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
图片点击可在新窗口打开查看

 

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


--  作者:有点甜
--  发布时间: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


--  作者:石四
--  发布时间:2014/10/31 14:29:00
--  
用系统合并命令 

Syscmd.Table.QuickMerge()

偶尔能合并,有时不能,奇怪.
--  作者:有点甜
--  发布时间:2014/10/31 14:31:00
--  
 呃,高速合并,合并的是你当前选择的表格。
--  作者:石四
--  发布时间:2014/11/3 16:47:00
--  

这太奇葩了:

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

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