excel报表,是要变通处理一下的,不然不能。
1、新增行,是为了儿子的个数>=女儿的个数;
2、最后删除行,不会影响其他数据,名字为空的数据是应该删除的。
3、重复问题,改一下代码
static idx As Integer = 0
If e.Book.TempLate = "宗谱" Then
If e.Region = "儿子信息" Then
Dim drs As List(Of DataRow) = e.DataRow.GetParentRow("配偶信息").GetChildRows("女儿信息")
If idx < drs.Count Then
Dim dr As DataRow = drs(idx)
e.Book.Marks("女名字") = dr("名字")
e.Book.Marks("嫁何处") = dr("嫁何处")
e.Book.Marks("丈夫姓名") = dr("丈夫姓名")
idx += 1
Else
e.Book.Marks("女名字") = ""
e.Book.Marks("嫁何处") = ""
e.Book.Marks("丈夫姓名") = ""
End If
Else If e.Region = "配偶信息" Then
idx = 0
End If
End If