Foxtable(狐表)用户栏目专家坐堂 → [求助]关于读取Excel


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

主题:[求助]关于读取Excel

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/23 19:43:00 [显示全部帖子]

之前不是说过要怎么处理了吗?不是一样?

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=105363&skin=0

 

你要怎么读取数据?具体例子发上来说明。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/24 10:00:00 [显示全部帖子]

1、读取某个单元格的值,你只需要知道其坐标即可,【是/否】你不知道怎么获取?

 

2、现在你是不会读取sheets(0)或者sheets(1)?直接循环每一行,读取不就可以了?这部分有困难?

 

3、你表格要加上一个【分清单表】,把你需要的数据合并进去。你哪一步不会做?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/25 15:20:00 [显示全部帖子]

汗,根本看不懂你写的什么代码。

 

Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim book As new XLS.Book(dlg.FileName)
    Dim sheet2 As XLS.Sheet = book.Sheets("sheet2")
    For i As Integer = 0 To sheet2.Rows.count-1
        If sheet2(i,0).text = "编码" Then
            For j As Integer = i+1 To sheet2.rows.count-1
                If sheet2(j,0).text.contains("小计") Then
                    i = j
                    Exit For
                End If
                output.show(sheet2(j,0).text & " " & sheet2(j,1).text & " " & sheet2(j,2).text)
            Next
        End If
    Next
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/25 16:29:00 [显示全部帖子]

msgbox(sheet2(j,0).text & " " & sheet2(j,1).text & " " & sheet2(j,2).text  & " " &  sheet2(j,3).Text)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/25 17:40:00 [显示全部帖子]

不要动态修改表结构,如果需要修改,应该临时改一下

 

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

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/28 10:28:00 [显示全部帖子]

把你的项目拷贝出来,放在另一个文件夹,把bin文件夹删除,重新打开。

 

你是不是把文件夹设置了同步、共享、禁止写入等操作?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/28 11:50:00 [显示全部帖子]

1、如果编码相同如何处理?

 

2、你可以find的条件加上数量的值,如果是编号、数量都一样的,就不处理,不同的,就新增一行。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/28 15:00:00 [显示全部帖子]

1、

 

Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim book As new XLS.Book(dlg.FileName)
    Dim sheet2 As XLS.Sheet = book.Sheets("sheet2")
    For i As Integer = 0 To sheet2.Rows.count-1
        If sheet2(i,0).text = "编码" Then
            Dim sj As String = sheet2(i-1, 0).text
            Dim reg As new System.Text.RegularExpressions.Regex("[0-9]{4}-[0-9]+-[0-9]+")
            Dim mc As object = reg.Matches(sj)
            If mc.count > 0 Then
                sj = mc(0).value
            End If

            For j As Integer = i+1 To sheet2.rows.count-1
                If sheet2(j,0).text.contains("小计") Then
                    i = j
                    Exit For
                End If
                output.show(sj & " " & sheet2(j,0).text & " " & sheet2(j,1).text & " " & sheet2(j,2).text)
            Next
        End If
    Next
End If

2、

 

直接写 DataTables("发货分清单").DeleteFor("编号 is null")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/28 17:31:00 [显示全部帖子]

1、不明白你为什么要增加列。不懂你的逻辑。

 

    那,你可以循环两次,第一次循环增加列,第二次循环获取值。

 

2、你是不是安装了什么同步的软件?导致无法正常访问文件夹文件?换一个盘符、换一个文件夹。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/28 18:16:00 [显示全部帖子]

这个是正则,你可以看看其规则

 

https://www.baidu.com/baidu?wd=%E6%AD%A3%E5%88%99

 


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