以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  数据合并问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56488)

--  作者:xiaoyongxg2
--  发布时间:2014/9/6 13:28:00
--  数据合并问题
如何将导入的数据合并在首行而不是尾行。请老师指点
--  作者:有点酸
--  发布时间:2014/9/6 22:29:00
--  

没办法的,只能合并后排序


--  作者:有点甜
--  发布时间:2014/9/7 9:57:00
--  

 回复1楼,这样就需要编写合并的代码进行处理了。

 

 思路是:先获取最大的_Sortkey的值,然后合并数据,然后把大于_Sortkey的所有数据的_Sortkey值变为最小


--  作者:xiaoyongxg2
--  发布时间:2014/9/10 8:06:00
--  
这个听起来很难啊
--  作者:Bin
--  发布时间:2014/9/10 8:30:00
--  
http://www.foxtable.com/help/topics/2334.htm

给你来个容易理解的

把增加的行移动到最顶端

参考上面的合并例子 增加一句代码即可

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 -
    Dim 
r As Row = Tables("订单").AddNew()
    For 
m As Integer = 0 To nms.Length - 1
         
r(nms(m)) = Sheet(n,m).Value
    Next
    r.move(0)  \'增加这句代码.移动到第一行
Next
Tables(
"订单").ResumeRedraw()

--  作者:xiaoyongxg2
--  发布时间:2014/9/10 11:58:00
--  
谢谢BIN老师,我先试试。
--  作者:xiaoyongxg2
--  发布时间:2014/9/10 12:31:00
--  
请问BIN老师能不能用Merger实现?
--  作者:有点甜
--  发布时间:2014/9/10 14:12:00
--  
 回复7楼,可以,看3楼思路