Private Sub sfWriteXls_Table(ByVal poListView As Object, ByVal pvTxt As Variant, ByVal psFile As String, ByVal pvData As Variant)
Dim Wbook As ExcelWorkbook
Dim Wsheet As ExcelWorksheet
'Dim row As ExcelRow
Dim cell As ExcelCell
Dim style As ExcelCellStyle
Dim lRow As Long
Dim j As Long, i As Long
Dim sDataType As String
Set Wbook = Excel8.CreateExcelWorkbook
Wbook.SetDefaultFont "宋体", 10
Call Wbook.CreateSheet("Sheet1")
Set Wsheet = Wbook.GetSheet("Sheet1")
Wbook.SetActiveSheet "Sheet1"
Set style = Excel8.CreateExcelCellStyle
'列
For j = 1 To poListView.ColumnHeaders.Count
'Set style = sfWriteXls_Style(poListView, j, , , sDataType)
Wsheet.SetColumnStyle j, j, poListView.ColumnHeaders(j).Width * mdXs ', style
Next
'标题
lRow = 0
For i = 0 To UBound(pvTxt)
Set style = sfWriteXls_Style(poListView, 0, 1, pvTxt(i))
lRow = lRow + 1
Wsheet.AddCell i, lRow, Split(pvTxt(i), ",")(0), style
If UBound(Split(pvTxt(i), ",")) >= 4 Then
If Val(Split(pvTxt(i), ",")(4)) = 0 Then
Wsheet.GetRow(lRow).Height = 25
Else
Wsheet.GetRow(lRow).Height = Val(Split(pvTxt(i), ",")(4))
End If
Else
Wsheet.GetRow(lRow).Height = 25
End If
Wsheet.MergeCells 1, lRow, poListView.ColumnHeaders.Count, i '行合并
Next
'表头
lRow = lRow + 1
Set style = sfWriteXls_Style(poListView, j, 2)
For j = 1 To poListView.ColumnHeaders.Count
Wsheet.AddCell j, lRow, poListView.ColumnHeaders(j).Text, style
Next
' If poListView.listitems.Count > 0 Then
' Wsheet.GetRow(lRow).Height = poListView.listitems(1).Height * mdXs
' End If
'行
If Not (IsNull(pvData) Or IsEmpty(pvData)) Then
Set style = Excel8.CreateExcelCellStyle
With style
.LeftLineStyle = xfbtThin
.LeftLineColour = cBlack