Foxtable(狐表)用户栏目专家坐堂 → 合并数据


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

主题:合并数据

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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
合并数据  发帖心情 Post By:2012/6/20 17:39:00 [只看该作者]

求助,如何实现只导入EXCEL文件有数据的行,不导入空格行。谢谢!!!

 

我用以下代码合并文件,

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 -1
    Dim
r As Row = Tables("订单").AddNew()
    For
m As Integer = 0 To nms.Length - 1
        
r(nms(m)) = Sheet(n,m).Value
    Next
Next
Tables(
"订单").ResumeRedraw()


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/20 17:55:00 [只看该作者]

傻孩子,这不很简单吗? 判断一下单元格是不是空的即可:

 

Dim Book As New XLS.Book("c:\test\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
Dim nms() As String = {"产品","客户","雇员","单价","折扣","数量","日期"}
For n As Integer = 1 To Sheet.Rows.Count -1
    If sheet(n,0)> "" AndAlso sheet(n,1) > "" AndAlso sheet(n,2) > "" Then
        Dim r As Row = Tables("订单").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("订单").ResumeRedraw()


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/6/20 23:54:00 [只看该作者]

谢谢狐爸老师!!!

我用你的代码调试出现错误提示


图片点击可在新窗口打开查看此主题相关图片如下:6.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/21 7:58:00 [只看该作者]

Dim Book As New XLS.Book("c:\test\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
Dim nms() As String = {"产品","客户","雇员","单价","折扣","数量","日期"}
For n As Integer = 1 To Sheet.Rows.Count -1
    If sheet(n,0).Text> "" AndAlso sheet(n,1).Text > "" AndAlso sheet(n,2).Text > "" Then
        Dim r As Row = Tables("订单").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("订单").ResumeRedraw()

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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/6/21 9:44:00 [只看该作者]

问题已解决,非常感谢狐爸老师!!!

有您的帮助,相我这样的菜鸟快可以出软件了。

 

 


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/7/5 13:46:00 [只看该作者]

狐爸您好!

我想导入数据后,删除EXCEL的数据行

不知道如何删除EXCEL的数据行,求助,谢谢


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2012/7/5 18:16:00 [只看该作者]

前面的代码中:


       r(nms(m)) = Sheet(n,m).Value
改为:

       Sheet(n,m).Value = ""

 

 

试试···


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/7/6 13:31:00 [只看该作者]

老大我用你给的代码调试,不能合并数据。

导入的是空值,EXCEL的数据也没删除


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/6 15:17:00 [只看该作者]

要删除行,很简单,参考:

 

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

 


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/7/8 0:14:00 [只看该作者]

狐爸您好!

   删除EXCEL行我实在是解决不了,能不能帮我写段代码。

   谢谢!


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