'导出当前表所有内容(所有列、所有行、所有表达式数据)
Dim dtb
As New DataTableBuilder("临时") '生成临时表,因为原始表有许多表达式列
Dim tbl As Table = Tables("原始")
'生成临时表结构
For Each c As Col
In Tbl.Cols
Dim
dc As DataCol = c.DataCol
'原表列名
Select
Case dc.DataType.tostring.replace("System.",
"") '获得原表列属性,根据属性设置
Case
"String"
dtb.AddDef(dc.name, Gettype(String), dc.MaxLength)
Case
"DateTime"
dtb.AddDef(dc.name, Gettype(Date))
Case
"Boolean"
dtb.AddDef(dc.name, Gettype(Boolean))
Case
"Int16"
dtb.AddDef(dc.name, Gettype(Integer))
Case
"Int32"
dtb.AddDef(dc.name, Gettype(Integer))
Case
"Int64"
dtb.AddDef(dc.name, Gettype(Integer))
Case
"Single"
dtb.AddDef(dc.name, Gettype(Single))
Case "Double"
dtb.AddDef(dc.name, Gettype(Double))
End
Select
Next
dtb.Build() '生成临时表结构
'复制原始表列名到数组中,便于后面数据复制
MainTable = tbl
Dim drs As Integer = Tbl.rows.Count-1
Dim nma1,nmb1 As new List(Of String) '集合
For Each c As Col
In Tbl.cols
nma1.add(c.Name)
nmb1.add(c.Name)
Next
Dim nma =nma1.ToArray() '数组
Dim nmb =nmb1.ToArray()
'复制内容复制到临时表中
tbl.StopRedraw
With Tbl
For
i As Integer = 0 To .rows.Count-1 '所有行
CurrentTable.Position = i
Dim
dr As DataRow = DataTables("临时").AddNew
For
j As Integer = 0 To nma.Length - 1
dr(nmb(j)) = .current(nma(j))
Next
Next
End With
Tbl.ResumeRedraw
'导出文件
MainTable = Tables("临时")
Dim ex As New Exporter
ex.SourceTableName
= "临时" '指定导出表
Dim file As String = "D:\gbxx\cwhfa.mdb"
ex.filepath = file '指定目标文件
If FileSys.FileExists(file) Then '如果指定的文件存在
FileSys.DeleteFile(file,2,2) '则彻底删除之
End If
ex.Export() '开始导出
MessageBox.Show("导出已经完成!")