Foxtable(狐表)用户栏目专家坐堂 → [求助]select获得excel中一列数据怎么放到另一个表中


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

主题:[求助]select获得excel中一列数据怎么放到另一个表中

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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
[求助]select获得excel中一列数据怎么放到另一个表中  发帖心情 Post By:2018/1/3 13:04:00 [只看该作者]

 用select获得sheet1的数据,放到了数组中,怎么才能再放到另一个表里

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


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

1、你获得数据的代码怎么写的?贴出代码;

 

2、具体一点你的问题。


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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
  发帖心情 Post By:2018/1/4 12:00:00 [只看该作者]

需要把"网元名称"为"6011"且"端口"为"4(out)"的数据与"网元名称"为"6010","端口"为"1(In)"的数据行挑出来
然后判断"槽位id"末尾的数字最大的 out和in 的数据相减,主要就是1、不会粘贴,2、不知道怎么获得最大值那一行某单元格的值

Dim drs As List(of DataRow)=DataTables("sheet1").Select("[网元名称]='6011'and[端口]='4(out)'")
                                     
                                        ‘然后需要把符合条件的行放到 "sheet2"这个表格里,这里不会粘贴
‘——————————————

Dim i As Integer
Dim cnt As String
For i = 0 To 30    
    If Tables("sheet1").Rows(i)("网元名称") = Nothing  Then
        Exit For
    End If
    Dim str As String = Tables("sheet1").Rows(i)("槽位ID")
    str = str.Replace("-","0")           ‘槽位ID是一堆字符加最后的数字,所以把 - 换成 0 好比较大小
    output.show(str.SubString(str.Length - 2)) 
                              
                                                   ‘这里把最后两位数字提了出来,不会放回单元格
  ‘ ————————————————
    Dim cnt As String
    cnt = DataTables("sheet2").Compute("Max([网元名称])")  ‘这里判断到了最大值,但是不知道怎么返回最大值单元格位置,或者获得同一行的输入、输出光功率的值
    i = i + 1
Next

 ‘最后做比较相减,放到指定单元格



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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
  发帖心情 Post By:2018/1/4 12:03:00 [只看该作者]

恩,文件模板在这里
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


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

没看懂你代码表达的意思。

 

举例说明运算逻辑,比如取出什么值,做什么处理,然后添加到哪里?具体举一个实例说明。


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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
  发帖心情 Post By:2018/1/5 15:30:00 [只看该作者]

额。。第一个就是用
Dim drs As List(of DataRow)=DataTables("sheet1").Select("[字段1]='6011'and[字段4]='4(out)'")
取出了第一列为6011的行 ,然后怎么放到表2里

然后比如有这样三列三行数据在excel里,我该用哪两个函数才能判断出,第一列最大的数是多少(7),然后取出这一行的第四列的数字(3),与第

              第一列    第二列    第三列    第四列        一列数字最小的行的第四列的数字(8)相减。

     1           2          4            4          8

     2           6          5            5          7

     3           7          6            5          3

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


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

没看懂你逻辑,如果是根据末尾判读大小,这样判断

 

'查询数据
Dim drs As List(of DataRow)=DataTables("sheet1").Select("[网元名称]='6011' and [端口]='4(out)'")
'获取数据里面【id】末位最大的那一行
Dim max As Integer = 0
Dim pdr As DataRow
For Each dr As DataRow In drs
    Dim n = dr("槽位id").split("-")(1)
    If n > max Then
        pdr = dr
        max = n
    End If
Next
msgbox(pdr("槽位id") & pdr("输出光功率(dBm)"))


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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
  发帖心情 Post By:2018/1/5 17:31:00 [只看该作者]

 谢谢老师,找最大值我已经会了,我现在想知道怎么才能获得最大值那一行 旁边的值

              第一列    第二列    第三列    第四列        

     1           2          4            4          8

     2           6          5            5          7

     3           7          6            5          3

比如得出第一列大值是第三行的7,我现在怎么才能得到第三行第四列的值3,还有用过select语句得到的符合条件的行 怎么放到另一个表格里啊。

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


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

看懂7楼代码,红色的就是你需要的

 

'查询数据
Dim drs As List(of DataRow)=DataTables("sheet1").Select("[网元名称]='6011' and [端口]='4(out)'")
'获取数据里面【id】末位最大的那一行
Dim max As Integer = 0
Dim pdr As DataRow
For Each dr As DataRow In drs
    Dim n = dr("槽位id").split("-")(1)
    If n > max Then
        pdr = dr
        max = n
    End If
Next
msgbox(pdr("槽位id") & pdr("输出光功率(dBm)"))

 

如果你需要赋值到另一个表,参考 http://www.foxtable.com/webhelp/scr/1533.htm

 


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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
  发帖心情 Post By:2018/1/5 18:32:00 [只看该作者]

 图片点击可在新窗口打开查看我看到了。。谢谢老师!!

 回到顶部
总数 27 1 2 3 下一页