以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  excel导入问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122986)

--  作者:lycliu
--  发布时间:2018/8/6 11:38:00
--  excel导入问题
导入Excel时,有多个工作表,也有隐藏的工作表,有什么办法可以控制不导入隐藏的工作表吗?
--  作者:有点甜
--  发布时间:2018/8/6 11:40:00
--  

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

 

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


--  作者:lycliu
--  发布时间:2018/8/6 11:48:00
--  
写代码的,如何通过代码判断是否为隐藏呢?
--  作者:有点甜
--  发布时间:2018/8/6 11:50:00
--  

贴出你写的代码。

 

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


--  作者:lycliu
--  发布时间: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() \'开始事务



--  作者:有点甜
--  发布时间:2018/8/6 12:20:00
--  

If sheet.visible then

    msgbox(123)

End If


--  作者:lycliu
--  发布时间: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

--  作者:有点甜
--  发布时间: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
--  发布时间:2018/8/7 10:56:00
--  
之前看了这个listview的例子,不是很懂就来问一下。然后现在能实现了,但是为什么不是在同一行上面的呀!我想的是复选框和表单名字在同一行上面的
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20180807105304.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/8/7 11:12:00
--  

设置成小图标

 

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