If DataTables("TBhref3").DataRows.Count>0 Then
Dim b As new CrossTableBuilder("tjb3",DataTables("TBhref3"))
b.HGroups.adddef("ibh01","类别")
b.HGroups.adddef("imc01","名称")
b.HGroups.adddef("igg01","规格")
b.HGroups.adddef("idw01","单位")
b.HGroups.adddef("isl01","库存数")
b.HGroups.adddef("state1","状态")
b.VGroups.adddef("day1","{0}日")
b.Totals.adddef("qty1","数量") ’每日发生的不同性质变化数量
b.build
MainTable=Tables("tjb3")
’ 2. 以上是交叉生成流水记录表部份
Dim tbl As Table = Tables("tjb3")
Dim hdr As Integer = tbl.HeaderRows '获得表头的层数
Dim Book As New XLS.Book
Dim Sheet As XLS.Sheet = Book.Sheets(0)
sheet(0,1).value = Vars("company_name")
sheet(1,1).value = Vars("PrnExp")
sheet(1,tbl.Cols.Count -2).value = "报表日期:" & Date.now
tbl.CreateSheetHeader(Sheet,2,1,False) '生成表头
For c01 As Integer = 0 To tbl.Cols.Count -1
For r01 As Integer = 0 To tbl.Rows.Count -1
If c01>5 Then ‘第5列以后全是数字列,对0值加以判断并以空白填充。
If tbl(r01,c01)=0 Then
sheet(r01 + 2 + hdr,c01+1).value = ""
Else
sheet(r01 + 2 + hdr,c01+1).value = tbl(r01,c01)
End If
Else
sheet(r01 + 2 + hdr,c01+1).value = tbl(r01,c01)
End If
Next
Next
Dim t01 As Date =Date.now
Dim rname As String="REP" & year(t01) & hour(t01) & minute(t01) & second(t01) & ".xls"
Book.Save(ExcelPath & "\" & rname)
e.WriteBook(book,rname,False)
’3. 以上是动态生成Excel表部份,感觉生成的表不好看,还要进行二次排版。
End If