我有(类)列表。有 1800 个计数,每个对象有 90 个属性。当我用 90 个属性对每个属性进行迭代时,会花费越来越多的时间。如何解决这个问题
Dim cellIntStyle As HSSFCellStyle = hssfworkbook.CreateCellStyle
cellIntStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("#")
Dim cellDateStyle As HSSFCellStyle = hssfworkbook.CreateCellStyle
cellDateStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat(Format
("dd-MMM-yyyy"))
For Each mReport As Report In dtExcel
row = sheet1.CreateRow(iRow)
j = 0
For Each prop As PropertyInfo In props
Dim value As Object = prop.GetValue(mReport, Nothing)
If IsInt(value) Then
CreateRow(row, j, CType(value, Integer), cellIntStyle)
ElseIf IsDate(value) Then
CreateRow(row, j, String.Format("{0:dd-MMM-yyyy}",
value), cellDateStyle)
Else
CreateRow(row, j, value)
End If
j = j + 1
Next
iRow = iRow + 1 // Coming here taking so long... how to make it fast.
Next
Private Sub CreateRow(ByRef row As HSSFRow, ByVal colId As Integer,
ByVal value As String)
row.CreateCell(colId).SetCellValue(value)
End Sub
Private Sub CreateRow(ByRef row As HSSFRow, ByVal colId As Integer,
ByVal value As Integer,
ByVal cellStyle As HSSFCellStyle)
Dim cell As HSSFCell = row.CreateCell(colId)
cell.SetCellValue(value)
cell.CellStyle = cellStyle
End Sub
Private Sub CreateRow(ByRef row As HSSFRow, ByVal colId As Integer,
ByVal value As String,
ByVal cellStyle As HSSFCellStyle)
Dim cell As HSSFCell = row.CreateCell(colId)
cell.SetCellValue(value)
cell.CellStyle = cellStyle
End Sub