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


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

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

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


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


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

回复11楼,addnew是新增行,你看看你表【日期20130411】最后面的行,看是否有值。

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


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

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

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


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

那说明你条件有问题,试试改成

 

For Each dr1 As DataRow In DataTables("sheet1").Select("")


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

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

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


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

以下是引用k740395636在2018/1/8 16:35:00的发言:
 这样可以,但是我没法只挑出符合条件的行了,感觉好像select函数到这出bug不能用了。。。有没有别的函数代替

 

select函数肯定没问题,你条件有问题、或者数据有问题。比如,你的数据,可能有多余的你看不见的空格,建议你处理一下数据,或者新增一行数据测试。

 

For Each dr1 As DataRow In DataTables("sheet1").Select("[光功率管理] = '6001'")


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


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

以下是引用k740395636在2018/1/8 16:35:00的发言:
 
找到 引用 可以这么写,不会报错,但是什么都没发生,没有出现新建表

 

如果要导入表,要这样写代码

 

http://www.foxtable.com/webhelp/scr/0684.htm

 

如果要合并数据,就这样写

 

http://www.foxtable.com/webhelp/scr/0685.htm

 

如果要引用某一个excel的数据,参考

 

http://www.foxtable.com/webhelp/scr/2334.htm

 


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


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

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

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


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

'老师。。转了一圈发现我还是不会把选出来的行放到旁边表。。。。我想把满足条件的行放到名为“复制”的表里,但是这么写提示item 为 read only,

Dim drs As List(of DataRow)
drs = DataTables("sheet1").Select("[光功率管理]= '6001' and [F4] = '1(IN)'")

For i As Integer = 0 To drs.count - 1
Tables("复制").Rows(i) = drs(i)
Next

'或者我想把这一列的字符全部修改为只有前四位,要怎么写啊
For Each dr As DataRow In DataTables("sheet1").Select("[光功率管理]")
    dr = dr.Substring(1,4)
Next
'这样写 取出来的值不是字符串 不让我操作。。

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


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

汗,建议你先把帮助文档、视频教程看一遍吧。

 

Dim drs As List(of DataRow)
drs = DataTables("sheet1").Select("[光功率管理]= '6001' and [F4] = '1(IN)'")

For Each dr As DataRow In drs
    Dim nr As Row = Tables("复制").addnew
    nr("某列") = dr("某列")
    nr("某列") = dr("某列")
Next

 


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