从Excel报表提取数据
Foxtable可以根据Excel模板批量生成Excel表格,反过来,我们也可以从Excel表格提取数据写入Foxtable。
假定有一个下图所示的Excel文件,发给所有员工自行填写,然后将所有填写好的文件放在同一个目录,现在要求编写代码从这些Excel文件中提取数据,写入到Foxtable的 员工表中:
代码是很简单的,只是将Excel各单元格的内容写入新增行对应列而已:
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
End If
Next
如果要同时提取照片,可以将代码改为:
For Each
file As String In filesys .GetFiles("c:\Data")