Foxtable(狐表)用户栏目专家坐堂 → 从Excel报表提取数据


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

主题:从Excel报表提取数据

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
从Excel报表提取数据  发帖心情 Post By:2018/1/19 11:13:00 [只看该作者]

下面代码是指定位置的读取

根据表头 向下读取所有的数据怎么编程
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180119111005.png
图片点击可在新窗口打开查看

For Each file As String In filesys .GetFiles("c:\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
Dim
fl As String = ProjectPath & "Attachments\" & dr("姓名") & ".jpg"
If
Sheet(4,4).SaveImage(fl) Then '如果照片保存成功
dr("照片") = fileSys.GetName(fl)
End If
End If
Next


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


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


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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2018/1/19 16:00:00 [只看该作者]

Dim Book As New XLS.Book("D:\test\第1批.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("表A").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"序号","楼层","区域","图例","名称","长","宽","厚","材质说明","单位","数量","单价","合价元","备注"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim r As Row = Tables("表A").AddNew()
    For m As Integer = 0 To nms.Length - 1
         r(nms(m)) = Sheet(n,m).Value
Dim fl As String = ProjectPath & "Attachments\" & r("图例") & ".jpg"
If Sheet(4,4).SaveImage(fl) Then '如果照片保存成功
r("图例") = fileSys.GetName(fl)
End If
    Next
Next
Tables("表A").ResumeRedraw()

表格内的图片不能导入

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


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

如果有问题,实例发上来测试

 

Dim Book As New XLS.Book("D:\test\第1批.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("表A").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"序号","楼层","区域","图例","名称","长","宽","厚","材质说明","单位","数量","单价","合价元","备注"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1
    Dim r As Row = Tables("表A").AddNew()
    For m As Integer = 0 To nms.Length - 1
        r(nms(m)) = Sheet(n,m).Value
    Next
    Dim fl As String = ProjectPath & "Attachments\" & r("图例") & ".jpg"
    If Sheet(n,4).SaveImage(fl) Then '如果照片保存成功
        r("图例") = fileSys.GetName(fl)
    End If
Next
Tables("表A").ResumeRedraw()


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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2018/1/19 16:14:00 [只看该作者]

还是要不的   上实
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.zip


[此贴子已经被作者于2018/1/19 16:14:11编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2018/1/19 16:22:00 [只看该作者]

顶下

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


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

Dim Book As New XLS.Book(projectpath & "\第1批.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("表A").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"序号","楼层","区域","图例","名称","长","宽","厚","材质说明","单位","数量","单价","合价元","备注"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1
    Dim r As Row = Tables("表A").AddNew()
    For m As Integer = 0 To nms.Length - 1
        r(nms(m)) = Sheet(n,m).Value
    Next
    Dim fl As String = ProjectPath & "Attachments\" & r("_Identify") & ".jpg"
    If Sheet(n,3).SaveImage(fl) Then '如果照片保存成功
        r("图例") = fileSys.GetName(fl)
    End If
Next
Tables("表A").ResumeRedraw()

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2018/1/19 16:57:00 [只看该作者]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2017.12.18.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
GDI+ 中发生一般性错误。


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


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

在你的项目文件夹那里,新建一个叫做 【Attachments】 的文件夹,即可。

 回到顶部