Foxtable(狐表)用户栏目专家坐堂 → excel表格导入的多层列名问题


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

主题:excel表格导入的多层列名问题

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


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
excel表格导入的多层列名问题  发帖心情 Post By:2017/8/9 13:03:00 [只看该作者]

请教下,excel表格设置了多层列名,一旦导入就消失了,请问该如何处理呢?
图片点击可在新窗口打开查看此主题相关图片如下:exceljietu.jpg
图片点击可在新窗口打开查看

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

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


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

用代码生成表格

 

Dim dlg As new OpenFileDialog
dlg.Filter = "excel|*.xls"
If dlg.ShowDialog = DialogResult.OK Then
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet1 As XLS.Sheet = Book.Sheets(0)
    Dim Builder As New ADOXBuilder
    Builder.Open()
    Dim tbl = Builder.NewTable("测试") '创建表
    For c As Integer = 0 To sheet1.Cols.count-1
        Dim cname As String = sheet1(0,c).text & iif(sheet1(1,c).text="", "", "_" & sheet1(1,c).text)
        'msgbox(cname)
       
        With tbl
            .AddColumn(cname.replace("*", "乘"),ADOXType.String)
        End With
    Next
    Builder.AddTable(tbl) '增加表
    Builder.Close()
    DataTables.load("测试") 
End If


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


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

不然,你就只能先把excel的表头处理成一层的列名,再导入。

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


加好友 发短信
等级:婴狐 帖子:4 积分:91 威望:0 精华:0 注册:2017/8/21 12:13:00
明白了,谢谢  发帖心情 Post By:2017/8/21 13:30:00 [只看该作者]

下午试试

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


加好友 发短信
等级:婴狐 帖子:4 积分:91 威望:0 精华:0 注册:2017/8/21 12:13:00
  发帖心情 Post By:2017/8/21 15:26:00 [只看该作者]

已经成功,谢谢;)就用Excel把按照加_的格式做好表头导入就可以,很简单。

 回到顶部