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
感谢您的关注
在 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
感谢您的关注