Foxtable(狐表)用户栏目专家坐堂 → excel导入问题


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

主题:excel导入问题

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


加好友 发短信
等级:幼狐 帖子:65 积分:532 威望:0 精华:0 注册:2018/4/9 15:45:00
excel导入问题  发帖心情 Post By:2018/8/6 11:38:00 [只看该作者]

导入Excel时,有多个工作表,也有隐藏的工作表,有什么办法可以控制不导入隐藏的工作表吗?

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


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

1、你如何导入excel的?写代码?还是点菜单?

 

2、如果写代码,判断一下工作表是否隐藏即可。


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


加好友 发短信
等级:幼狐 帖子:65 积分:532 威望:0 精华:0 注册:2018/4/9 15:45:00
  发帖心情 Post By:2018/8/6 11:48:00 [只看该作者]

写代码的,如何通过代码判断是否为隐藏呢?

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


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

贴出你写的代码。

 

Dim book As new XLS.Book("d:\test.xls")
msgbox(book.Sheets(0).Visible)


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


加好友 发短信
等级:幼狐 帖子:65 积分:532 威望:0 精华:0 注册:2018/4/9 15:45:00
  发帖心情 Post By:2018/8/6 11:53:00 [只看该作者]

Dim dlg As new OpenFileDialog
        dlg.Filter="所有文件|*.*|Excel2003文件|*.xls|Excel2007文件|*.xlsx"
        If dlg.ShowDialog = DialogResult.OK Then
            Dim book As new XLS.Book(dlg.FileName)
            For Each sheet As XLS.Sheet In book.Sheets
            Next
 Dim i As Integer
            For i =0 To book.sheets.count-1
                Dim sheet As XLS.Sheet = book.Sheets(i)
                try
                    Connections("_strActiveConn").BeginTransaction() '开始事务



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


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

If sheet.visible then

    msgbox(123)

End If


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


加好友 发短信
等级:幼狐 帖子:65 积分:532 威望:0 精华:0 注册:2018/4/9 15:45:00
  发帖心情 Post By:2018/8/7 9:49:00 [只看该作者]

上面的问题解决了,但是我想让员工自己选择导入任意的Excel表单,我把一个Excel里面的多个工作表单的名字赋值给了一个数组,然后想在listview中这样子显示出来,能不能做到呢?
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20180807094226.png
图片点击可在新窗口打开查看

Dim lvw As WinForm.ListView = Forms("窗口1").Controls("ListView1")
Dim dlg As new OpenFileDialog
dlg.Filter="所有文件|*.*|Excel2003文件|*.xls|Excel2007文件|*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    Dim book As new XLS.Book(dlg.FileName)
    Dim i As Integer
    For Each sheet As XLS.Sheet In book.Sheets
    Next
    Dim cls(0 To book.sheets.Count) As String
    For i =0 To book.sheets.Count-1
        cls(i)=book.sheets(i).Name
    Next
End If

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


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

可以,参考 http://www.foxtable.com/webhelp/scr/2778.htm

 

 

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.CheckBoxes = True
Dim dlg As new OpenFileDialog
dlg.Filter="所有文件|*.*|Excel2003文件|*.xls|Excel2007文件|*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    Dim book As new XLS.Book(dlg.FileName)
    lvw.Images.AddImage("China","China.Ico","China48.Ico") '增加代表中国的一对图标,图标键值为"China"
    For Each sheet As XLS.Sheet In book.Sheets
        Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
        r.Text = sheet.name '指定行的标题
        r.ImageKey = "China" '指定行的图标键值
    Next
End If

 


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


加好友 发短信
等级:幼狐 帖子:65 积分:532 威望:0 精华:0 注册:2018/4/9 15:45:00
  发帖心情 Post By:2018/8/7 10:56:00 [只看该作者]

之前看了这个listview的例子,不是很懂就来问一下。然后现在能实现了,但是为什么不是在同一行上面的呀!我想的是复选框和表单名字在同一行上面的
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20180807105304.png
图片点击可在新窗口打开查看

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


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


 回到顶部