Foxtable(狐表)用户栏目专家坐堂 → 读取Excel报表问题


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

主题:读取Excel报表问题

美女呀,离线,留言给我吧!
Springamy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
读取Excel报表问题  发帖心情 Post By:2017/8/17 17:50:00 [只看该作者]

问题如图: 这是一个批量读取的按钮,因实际需求,现在有的Excel会有两个采购订单号或者多个,

在导入文件的时候已经对表做了addnew()的操作,所以现在只能读取第一个采购订单编号,

请问我怎么判断在读取到sheet1(7,0).value不是空值的时候添加一行,(如果是在s1(k)赋值之后再判断添加,在循环里面,会添加多行,不符合实际需求)

 


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

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

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


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


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

msgbox(sheet1(7, i).Text)

If sheet1(7, i).Text > "" Then

 

End If


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/8/18 9:39:00 [只看该作者]

以下是引用有点甜在2017/8/17 19:05:00的发言:

msgbox(sheet1(7, i).Text)

If sheet1(7, i).Text > "" Then

 

End If

甜大,改了也还是没达到效果,是不是我思路不对阿,在循环里面addnew,会不断的增加行


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

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

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

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


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

加在第一个循环的后面,也就是

 

for i as integer = 3 to sheet1.Rows.count-1

    If sheet1(7, i).Text > "" Then

 

    End If


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


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

 如果还有问题,把实例发上来测试。

 回到顶部
美女呀,离线,留言给我吧!
Springamy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/8/18 10:23:00 [只看该作者]

以下是引用有点甜在2017/8/18 9:42:00的发言:

加在第一个循环的后面,也就是

 

for i as integer = 3 to sheet1.Rows.count-1

    If sheet1(7, i).Text > "" Then

 

    End If

数据更加不对了,看例子


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模拟采购订单.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:提货申请表-苏州xxx项目增补.xls


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


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

Dim xls As String
Dim s1 As String() ={"办事处","销售人员","采购订单号","项目名称","代理商名称","提货金额","销售合同签订情况","订单类型","提货申请表"}
Dim s,fname As String
Dim xs As Double
Dim sqbname = "提货申请表"
Dim sqb As Boolean = False
Dim n As Integer = 0
Dim m As Integer = Tables("提货申请单").Rows.Count

Dim drs = DataTables("提货申请单").DataRows
For Each dr As DataRow In drs
    sqb = False
    fname = dr("路径") & dr("文件名")
    MsgBox("读取文件fname=" & fname )
    xls = dr("文件名")
    MsgBox("读取文件xls=" & xls )
    If dr("路径") <> "" AndAlso dr("文件名") <> "" AndAlso FileSys.FileExists(fname) Then
        Dim book As new XLS.Book(fname)
        Dim sheet1 As XLS.Sheet = book.Sheets(0)
        For j As Integer = 0 To sheet1.Cols.Count - 1
            If DataTables("提货申请单").DataCols.Contains(sheet1(3, j).text) Then
                dr(sheet1(3,j).text) = sheet1(4,j).text
            End If
        Next
        For i As Integer = 6 To sheet1.Rows.Count-1
            If sheet1(i,0).text > "" Then
                Dim r As Row = Tables("提货申请单").AddNew()
                r("序号") = dr("序号")
                r("文件名") = dr("文件名")
                r("办事处") = dr("办事处")
                r("销售人员") = dr("销售人员")
                r("路径") = dr("路径")
                For j As Integer = 0 To sheet1.Cols.Count - 1
                    If DataTables("提货申请单").DataCols.Contains(sheet1(5, j).text) Then
                        r(sheet1(5,j).text) = sheet1(i,j).text
                    End If
                Next
               
               
            End If
        Next
    End If
Next

For i As Integer = drs.count-1 To 0 Step -1
    drs(i).delete
Next

Tables("提货申请单").AutoSizeCols


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
谢谢  发帖心情 Post By:2017/8/18 11:38:00 [只看该作者]

谢谢甜大,果然思路最重要,我一直停留在先全部循环一遍再判断的胡同里图片点击可在新窗口打开查看

 回到顶部