此主题相关图片如下:微信截图_20231124122223.png
有上图这样的表,想把上图数据生成附件中的word
用execl把。word使用模板做不了,得自己使用vba编码填充数据
部门对应多个隐患记录,能否生成一个临时表,主表是部门信息,附表是隐患信息啊,这样直至使用excel模板就简单了
TableCaptionVisible = True
Dim dtb As New DataTableBuilder("表B")
dtb.AddDef("检查时间", GetType(Date))
dtb.AddDef("问题描述", GetType(String), 255)
dtb.AddDef("截止日期", GetType(Date))
dtb.AddDef("责任人", GetType(String), 32)
dtb.AddDef("隐患类型", GetType(String), 32)
dtb.AddDef("隐患子类", GetType(String), 32)
dtb.AddDef("检查类型", GetType(String), 32)
dtb.AddDef("隐患等级", GetType(String), 32)
dtb.AddDef("责任部门", GetType(String), 32)
dtb.Build()
Dim dt As DataTable = DataTables("隐患记录")
For Each v As String In dt.GetValues("责任部门")
For Each dr2 As DataRow In dt.Select("责任部门 = '" & v & "'")
Dim dr1 As DataRow = DataTables("表B").AddNew()
dr1("责任部门") = v
dr1("检查时间") = dr2("检查时间")
dr1("问题描述") = dr2("问题描述")
dr1("截止日期") = dr2("截止日期")
dr1("责任人") = dr2("责任人")
dr1("隐患类型") = dr2("隐患类型")
dr1("隐患子类") = dr2("隐患子类")
dr1("隐患等级") = dr2("隐患等级")
Next
Next
If Relations.Contains("临时关联") Then
Relations.Delete("临时关联")
End If
Relations.Add("临时关联", DataTables("隐患记录").DataCols("责任部门"), DataTables("表B").DataCols("责任部门"))
问题1、我是不是绕远了,想着利用关联表与主表直接生成excel
问题2、生成的临时表 怎么代码删除
1、能实现功能就行
2、DataTables.unload("表B")