以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  导出数据,EXCEL报表功能,为什么导出数据重复  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161834)

--  作者:天宇科技
--  发布时间:2021/3/31 10:35:00
--  导出数据,EXCEL报表功能,为什么导出数据重复
导出数据,EXCEL报表功能,为什么导出数据重复,很多人都生成了两条记录,有些人又只生成了一条记录。是想同时把几张表生成一个EXCLEL工作簿里。

导出数据代码:
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "EXCEL文件|*.Xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
Dim ex As New Exporter

ex.SourceTableName = "一级一览表"
ex.FilePath = dlg.FileName  \'指定目标文件
ex.Format = "Excel" \'导出格式为Excel
ex.Fields = "序号,填报学校,行政区域,职场证书编号,证件类型,证件号码,姓名,性别,出生日期,职场系列,职场级别,职场名称,评审活动是否设置评审专业,评审专业名称,本地评审专业名称,评审时间,发证机构,评审机构,批准时间,职场文件文号,备注" \'指定导出字段
ex.NewTableName = "一级一览表"
ex.Export() \'开始导出

ex = New Exporter
ex.SourceTableName = "二级一览表" 
ex.FilePath = dlg.FileName  \'指定目标文件
ex.Format = "Excel" \'导出格式为Exc
ex.Fields = "序号,填报学校,行政区域,职场证书编号,证件类型,证件号码,姓名,性别,出生日期,职场系列,职场级别,职场名称,评审活动是否设置评审专业,评审专业名称,本地评审专业名称,评审时间,发证机构,评审机构,批准时间,职场文件文号,备注" \'指定导出字段
ex.NewTableName = "二级一览表"
ex.Export() \'开始导出


ex = New Exporter\'
ex.SourceTableName = "三级一览表" 
ex.FilePath = dlg.FileName  \'指定目标文件
ex.Format = "Excel" \'导出格式为Excel
ex.Fields = "序号,填报学校,行政区域,职场证书编号,证件类型,证件号码,姓名,性别,出生日期,职场系列,职场级别,职场名称,评审活动是否设置评审专业,评审专业名称,本地评审专业名称,评审时间,发证机构,评审机构,批准时间,职场文件文号,备注" \'指定导出字段
ex.NewTableName = "三级一览表"
ex.Export() \'开始导出

End If
——————————————————————————————————————————————————————————————————————————————————————————————————————

生成EXCEL报表代码:

Dim Book As New XLS.Book(ProjectPath & "Attachments\\教师职场表.xlsx")
Dim fl As String = ProjectPath & "Reports\\教师职场表.xlsx"
Book.Build() \'生成细节区
Book.Sheets(0).Rows.RemoveAt(0) \'删除第一行,Excel报表的第一行通常是标记行
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()




--  作者:有点蓝
--  发布时间:2021/3/31 10:59:00
--  
原表有什么数据,导出就有什么数据。
--  作者:天宇科技
--  发布时间:2021/3/31 11:32:00
--  
我找到原因了,我在系统中删除数据,初始化系统,看起来数据也删除了,界面看不到数据了,然后保存,其实没有真正删除,数据还在数据库中,下面的命令有问题吗?
删除我用的系统命令
Syscmd.Row.Delete() 

系统初始化下面的代码,有问题吗

Forms("主窗口").open
MainTable = Tables("主窗口")


Dim Result As DialogResult
Result = MessageBox.Show("初始化系统将会删除所有的数据,并且不能恢复,你确定吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    For Each dt As DataTable In DataTables
        dt.DeleteFor("")
    Next
End If

--  作者:有点蓝
--  发布时间:2021/3/31 11:38:00
--  
Syscmd.Row.Delete()和DeleteFor 仅删除已经加载的数据,并且要保存才生效

删除后台数据使用sqlDeleteFor:http://www.foxtable.com/webhelp/topics/2899.htm

--  作者:天宇科技
--  发布时间:2021/3/31 11:43:00
--  
我保存了的呀,数据是全部加载的。
--  作者:有点蓝
--  发布时间:2021/3/31 11:45:00
--  
肯定没有保存,或者没有全部加载