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


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

主题:[求助]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的数据,放到了数组中,怎么才能再放到另一个表里

 回到顶部
帅哥哟,离线,有人找我吗?
k740395636
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

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


 回到顶部
帅哥哟,离线,有人找我吗?
k740395636
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
帅哥哟,离线,有人找我吗?
k740395636
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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语句得到的符合条件的行 怎么放到另一个表格里啊。

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


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

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

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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
  发帖心情 Post By:2018/1/8 12:42:00 [显示全部帖子]

老师,我这里想把【光功率管理】这列中含有6001的都提取出来放在另一个表,但是写Select("[光功率管理] = '6001'"),另一个表还是空白的,只有写具体的一个内容进去   Select("[光功率管理] = '6001-河北路'"),另一个表才会复制了东西,怎么处理啊。

Dim Cols1() As String = {"光功率管理"}
Dim Cols2() As String = {"网元名称"}
For Each dr1 As DataRow In DataTables("sheet1").Select("[光功率管理] = '6001'")
    Dim dr2 As DataRow = DataTables("日期20130411").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next


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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
  发帖心情 Post By:2018/1/8 15:29:00 [显示全部帖子]

 我的表 日期20130411 只有表头 是空表
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
  发帖心情 Post By:2018/1/8 16:35:00 [显示全部帖子]

 这样可以,但是我没法只挑出符合条件的行了,感觉好像select函数到这出bug不能用了。。。有没有别的函数代替
另外,老师,怎么样用代码在foxtable内部打开一个指定路径的excel文件,就像导入那样

Dim app As new msexcel.application
Dim wb As msexcel.workbook = app.workbooks.open("C:\Users\Administrator\Desktop\模板.xlsx")
Dim ws As msexcel.worksheet = wb.worksheets("模板")

找到 引用 可以这么写,不会报错,但是什么都没发生,没有出现新建表

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


加好友 发短信
等级:婴狐 帖子:22 积分:238 威望:0 精华:0 注册:2017/12/25 10:55:00
  发帖心情 Post By:2018/1/8 18:02:00 [显示全部帖子]

 好的!我试一下,谢谢老师!

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