以文本方式查看主题

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

--  作者:wilson
--  发布时间: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()


--  作者:狐狸爸爸
--  发布时间: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
--  发布时间:2012/6/20 23:54:00
--  

谢谢狐爸老师!!!

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


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

--  作者:狐狸爸爸
--  发布时间: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
--  发布时间:2012/6/21 9:44:00
--  

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

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

 

 


--  作者:wilson
--  发布时间:2012/7/5 13:46:00
--  

狐爸您好!

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

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


--  作者:mr725
--  发布时间:2012/7/5 18:16:00
--  

前面的代码中:


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

       Sheet(n,m).Value = ""

 

 

试试···


--  作者:wilson
--  发布时间:2012/7/6 13:31:00
--  

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

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


--  作者:狐狸爸爸
--  发布时间:2012/7/6 15:17:00
--  

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

 

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

 


--  作者:wilson
--  发布时间:2012/7/8 0:14:00
--  

狐爸您好!

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

   谢谢!