以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 合并考勤记录表,求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=74682)

--  作者:农村人
--  发布时间:2015/9/16 16:48:00
--  [求助] 合并考勤记录表,求助
求大神帮忙!!!

以下表格是从指纹考勤设备里下载而来.
需要读取到狐表中来,没有一点思路,求大神指教
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:re001_08.xls



--  作者:大红袍
--  发布时间:2015/9/16 16:52:00
--  

分析excel的表结构,然后读取数据出来。

 

http://www.foxtable.com/help/topics/2492.htm

 


--  作者:大红袍
--  发布时间:2015/9/16 17:14:00
--  

1、把xls另存为excel97-2003格式

 

2、用下面代码

 

Dim dlg As new OpenFileDialog
dlg.Filter = "excle|*.xls"
If dlg.ShowDialog = DialogResult.OK Then
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    For i As Integer = 0 To sheet.Rows.Count - 1
        If sheet(i,0).Text Like "单位*"  Then
            output.show(sheet(i,7).Text)
            For r As Integer = i+5 To sheet.Rows.Count - 1
                If sheet(r,0).Text = Nothing Then
                    i = r
                    Exit For
                Else
                    output.show(sheet(r,2).Text)
                End If
            Next
        End If
    Next
End If


--  作者:大红袍
--  发布时间:2015/9/16 17:20:00
--  

不想另存为,就用vba打开

 

Dim dlg As new OpenFileDialog
dlg.Filter = "excle|*.xls"
If dlg.ShowDialog = DialogResult.OK Then
    Dim App As New MSExcel.Application
    try
        Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
        Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
        For i As Integer = 1 To ws.UsedRange.Rows.Count
            If ws.cells(i,1).Text Like "单位*"  Then
                output.show(ws.cells(i,8).Text)
                For r As Integer = i+5 To ws.UsedRange.Rows.Count
                    If ws.cells(r,1).Text = Nothing Then
                        i = r
                        Exit For
                    Else
                        output.show(ws.cells(r,3).Text)
                    End If
                Next
            End If
        Next
    catch ex As exception
        msgbox(ex.message)
    finally
        app.quit
    End try
End If


--  作者:农村人
--  发布时间:2015/9/16 17:32:00
--  
感谢感谢!!!

右侧的数据同样也需要读取的.

--  作者:大红袍
--  发布时间:2015/9/16 17:33:00
--  
参考上面的代码,要获取什么都可以。
--  作者:农村人
--  发布时间:2015/9/16 17:45:00
--  
我意思是说,一次性获取到数据,因为毕竟有日期列分成了两列
--  作者:大红袍
--  发布时间:2015/9/16 17:47:00
--  

改变这个的值,任意获取啊

 

output.show(ws.cells(r,3).Text)


--  作者:农村人
--  发布时间:2015/9/25 11:24:00
--  
图片点击可在新窗口打开查看
用VB的话,出现这样的提示,不知道是不是我系统的原因呢
[此贴子已经被作者于2015/9/25 11:33:53编辑过]

--  作者:大红袍
--  发布时间:2015/9/25 12:00:00
--  
请正确上传图片文件,看不到。