Foxtable(狐表)用户栏目专家坐堂 → [求助]再来求一个EXCEL导入处理的方法 !


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

主题:[求助]再来求一个EXCEL导入处理的方法 !

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


加好友 发短信
等级:三尾狐 帖子:721 积分:6397 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2016/4/12 11:01:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:excel导入.zip

EXCEL文档在4楼
[此贴子已经被作者于2016/4/12 11:01:44编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/12 11:59:00 [只看该作者]

Dim dlg As new OpenFileDialog
dlg.Filter = "Excel|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    Dim book As new XLS.Book(dlg.FileName)
    Dim sheet As XLS.Sheet = book.Sheets(0)
    Dim dic As new Dictionary(Of String, String())
    For i As Integer = 0 To 3
        Dim ary(sheet.Cols.Count-4) As String
        For j As Integer = 4 To sheet.Cols.Count - 1
            ary(j-4) = sheet(i, j).Text
        Next
        dic.Add(sheet(i, 3).Text, ary)
    Next
    For i As Integer = 5 To sheet.Rows.count-1
        For j As Integer = 4 To sheet.Cols.Count-1
            If sheet(i,j).Text > "" Then
                Dim nr As DataRow = DataTables("表a").addnew
                nr("FULLSTYLE") = sheet(i, 0).Text
                nr("SIZESCALE") = sheet(i, 3).Text
                nr("SIZE") = dic(sheet(i, 3).Text)(j-4)
                nr("TOTAL") = sheet(i,j).text
            End If
        Next
    Next
End If

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


加好友 发短信
等级:三尾狐 帖子:721 积分:6397 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2016/4/12 17:32:00 [只看该作者]

谢啦!图片点击可在新窗口打开查看

Dim dlg As new OpenFileDialog
dlg.Filter = "Excel|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    Dim book As new XLS.Book(dlg.FileName)
    Dim sheet As XLS.Sheet = book.Sheets(0)
    Dim dic As new Dictionary(Of String, String())
    For i As Integer = 0 To 3
        Dim ary(sheet.Cols.Count-4) As String
        For j As Integer = 4 To sheet.Cols.Count - 1
            ary(j-4) = sheet(i, j).Text
        Next
        dic.Add(sheet(i, 3).Text, ary)
    Next
    For i As Integer = 5 To sheet.Rows.count-1 '从EXCEL的第6行开始循环到最后一行
        For j As Integer = 4 To sheet.Cols.Count-1 '从EXCEL的第5列开始循环到最后一列
            If sheet(i,j).Text > "" Then '如果EXCEL的单元格有内容
                Dim nr As DataRow = DataTables("表a").addnew
                nr("FULLSTYLE") = sheet(i, 0).Text
                nr("SIZESCALE") = sheet(i, 3).Text
                nr("SIZE") = dic(sheet(i, 3).Text)(j-4)  ---这行不是太明白!求指点!
                nr("TOTAL") = sheet(i,j).text
            End If
        Next
    Next
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/12 17:38:00 [只看该作者]

dic(sheet(i, 3).Text)(j-4)  ---这行不是太明白!求指点!

 

首先把各个尺码M、L、N等保存到了一个字典存放。那么直接根据字符 M、L、N 就能取出对应的值 10、11H、12H


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