Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共18 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:请教从Excel报表提取数据问题

1楼
13315253800 发表于:2024/11/18 9:25:00

蓝老师,我按照狐表使用指南中“从Excel报表提取数据”的提示操作,未能实现,请指导修改一下,在按钮代码如下:

'Excel报表提取数据

For Each file As String In filesys.GetFiles("D:\Data\员工资料卡.xlsx")

    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then

        Dim Book As New XLS.Book(file)

        Dim Sheet As XLS.Sheet = Book.Sheets(0)

        Dim dr As DataRow = DataTables("员工").AddNew

        dr("姓名") = sheet(4, 1).Text

        dr("部门") = sheet(5, 1).text

        dr("出生日期") = sheet(4, 3).text

        dr("雇佣日期") = sheet(5, 3).text

        dr("性别") = sheet(6, 1).text

        dr("职务") = sheet(6, 3).text

        dr("地址") = sheet(7, 1).text

        dr("家庭电话") = sheet(8, 1).text

        dr("办公电话") = sheet(8, 3).text

        dr("备注") = sheet(9, 0).text

    End If

Next

2楼
13315253800 发表于:2024/11/18 9:29:00
提示如下错误
.NET Framework 版本:4.0.30319.36543
Foxtable 版本:2024.10.30.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
The process cannot access the file 'D:\Data\~$员工资料卡.xlsx' because it is being used by another process.

3楼
13315253800 发表于:2024/11/18 9:37:00
上面的错误提示是目录中不带文件名,如带文件名,即For Each file As String In filesys.GetFiles("D:\Data\员工资料卡.xlsx")时,提示如下
.NET Framework 版本:4.0.30319.36543
Foxtable 版本:2024.10.30.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
目录名称无效。

4楼
有点蓝 发表于:2024/11/18 9:56:00
文件处于打开状态,先关闭所有的execl
5楼
13315253800 发表于:2024/11/18 10:05:00
关闭所有的execl,也不行,我发一案例,请蓝老师看看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:excel报表提取数据.zip

6楼
有点蓝 发表于:2024/11/18 10:13:00
For Each file As String In filesys.GetFiles("D:\Data\员工资料卡.xlsx")
改为
For Each file As String In filesys.GetFiles("D:\Data\")
7楼
13315253800 发表于:2024/11/18 10:25:00
For Each file As String In filesys.GetFiles("D:\Data\")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Dim dr As DataRow = DataTables("员工").AddNew
        dr("姓名") = sheet(4, 1).Text
        dr("部门") = sheet(5, 1).text
        dr("出生日期") = sheet(4, 3).text
        dr("雇佣日期") = sheet(5, 3).text
        dr("性别") = sheet(6, 1).text
        dr("职务") = sheet(6, 3).text
        dr("地址") = sheet(7, 1).text
        dr("家庭电话") = sheet(8, 1).text
        dr("办公电话") = sheet(8, 3).text
        dr("备注") = sheet(9, 0).text
    End If
Next
修改后,仍提示
.NET Framework 版本:4.0.30319.36543
Foxtable 版本:2024.10.30.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
Central dir not found.

8楼
13315253800 发表于:2024/11/18 10:30:00
在D:\data目录下有“员工资料卡.xlsx”和“员工.xlsx”文件,不是这个原因吧?
9楼
有点蓝 发表于:2024/11/18 10:37:00
Central dir not found指不存在这个目录"D:\Data\"
10楼
13315253800 发表于:2024/11/18 11:08:00
蓝老师,我把“员工资料卡.xlsx”放到了,E:\data下,且只有此一个文件,修改代码为For Each file As String In filesys.GetFiles("E:\Data"),可以了。请问蓝老师如果有多个不同名称的文件,代码中可以指定具体文件名吗,代码怎么修改一下?
共18 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 3 queries.