vb.net 数据表到 excel 颜色

vb.net datatable to excel with color

在 vb.net 我有数据表,其中数据库中的值格式。

当我想按照规则制作样式和颜色时,这可能吗:

if nilai2 >= nilai1 then 
          hasil.backcolor = color.red
else if nilai2 < nilai1 then 
          hasil.backcolor = color.white
end if

输出:

先致谢

如果您使用的是 DataGridView,您或许可以使用 RowPostPaint 事件来完成。

在下面的示例中,只要在 DataGridView DataGridViewMaterial 中绘制每一行,整行就会根据列的值绘制颜色 "MaterialState"。

  Private Sub DataGridViewMaterial_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridViewMaterial.RowPostPaint

    Dim dgvRow As DataGridViewRow = Me.DataGridViewMaterial.Rows(e.RowIndex)

    If dgvRow.Cells("MaterialState").Value <> "" Then
        With dgvRow.DefaultCellStyle
            Select Case dgvRow.Cells("MaterialState").Value
                Case 1
                    .BackColor = Color.White
                Case 2
                    .BackColor = Color.Orange
                Case 3
                    .BackColor = Color.Aquamarine
                Case 31
                    .BackColor = Color.Crimson
                Case 4, 41, 42
                    .BackColor = Color.BlueViolet
                Case 5
                    .BackColor = Color.LightPink
                Case 6
                    .BackColor = Color.YellowGreen
                Case 7
                    .BackColor = Color.Gray
                Case Else
                    .BackColor = Color.Red
            End Select
        End With
    End If

你可以用类似的东西来绘制单个单元格:

dgvRow.Cells("YourColumnName").Style.BackColor = Color.Red

我得到答案了。这是我的代码:

xlrange = sobjSheet.Range(columnName & "2:" & columnName & "" & dgvhasil.RowCount + 1)
With xlrange
            .FormatConditions.Add(Excel.XlFormatConditionType.xlCellValue, Excel.XlFormatConditionOperator.xlLess, "0")
            .FormatConditions(1).font.ColorIndex = 3
        End With

感谢您的关注