Excel中的色的单元格我看了很多例子和演示,但我不能给它。的DataGridView要在vb.net
我想转换datagridview的背景颜色脱颖而出。 我只能datagridview excel但没有背景颜色。我想出口excel与背景颜色。 这是我的代码。
Imports System.Data.SqlClient
Imports System.Data.OleDb
Imports Excel = Microsoft.Office.Interop.Excel
Public Class view_all
Dim con1 As SqlConnection 'cun concation
Dim con As String ' string coonction
Dim da As SqlDataAdapter
Dim ds As DataSet
Dim tables As DataTableCollection
Dim source1 As New BindingSource
Dim APP As New Excel.Application
Dim worksheet As Excel.Worksheet
Dim workbook As Excel.Workbook
Dim view As DataView
Private Sub view_all_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim obj As New config
con1 = New SqlConnection
con1 = obj.getcontion()
con1.Open()
MessageBox.Show("Open Stock Limit ", "Open", MessageBoxButtons.OK, MessageBoxIcon.Information)
da = New SqlDataAdapter("select * from item", con1)
ds = New DataSet
da.Fill(ds, "item")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "item"
tables = ds.Tables
view = New DataView(tables(0))
source1.DataSource = view
DataGridView1.DataSource = view
DataGridView1.AllowUserToAddRows = False
DataGridView1.Columns(0).HeaderText = "Item Id"
DataGridView1.Columns(1).HeaderText = "Item Name"
DataGridView1.Columns(2).HeaderText = "Item Number"
DataGridView1.Columns(3).HeaderText = "GRN Number"
DataGridView1.Columns(4).HeaderText = "Item Qty "
DataGridView1.Columns(5).HeaderText = "Item Max"
DataGridView1.Columns(6).HeaderText = "Item min"
End Sub
Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
For i As Integer = 0 To Me.DataGridView1.Rows.Count - 1
Dim A As Integer = Me.DataGridView1.Rows(i).Cells(4).Value
Dim c As String = Me.DataGridView1.Rows(i).Cells(6).Value
Dim aa As Double ' string double herawanawa
Dim cc As Double ' string double harawabanwa
aa = CDbl(Val(A))
cc = CDbl(Val(c))
If aa < cc Then
Me.DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Red
Else
Me.DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Yellow
End If
Next
End Sub
'***************** export excel *****************************
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save.Click
If TextBox1.Text = "" Then
MsgBox("Enter file name")
Return
End If
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Int16, j As Int16
xlApp = New Excel.Application
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
For x = 0 To DataGridView1.ColumnCount - 1
xlWorkSheet.Cells(0 + 1, x + 1) = _
DataGridView1.Columns(x).HeaderText
Next
For i = 0 To DataGridView1.RowCount - 1
For j = 0 To DataGridView1.ColumnCount - 1
xlWorkSheet.Cells(i + 2, j + 1) = _
DataGridView1(j, i).Value.ToString()
Next
Next
Dim path As String
path = "C:\vb\" + TextBox1.Text.Trim + ".xls"
If (path = TextBox1.Text) Then
MsgBox(" no ")
Return
End If
xlWorkBook.SaveAs(path, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, _
Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue)
xlWorkBook.Close(True, misValue, misValue)
xlApp.Quit()
'MsgBox("misValue")
MsgBox(path)
releaseObject(xlWorkSheet)
releaseObject(xlWorkBook)
releaseObject(xlApp)
MessageBox.Show("File completed to save in your path")
End Sub
Private Sub releaseObject(ByVal obj As Object)
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
obj = Nothing
Catch ex As Exception
obj = Nothing
MessageBox.Show("Exception Occured while releasing object " + ex.ToString())
Finally
GC.Collect()
End Try
End Sub
End Class
这是一个Excel文件模板更容易创建一个Excel模板设置条件根据其他单元格的值对背景进行格式化。导出时,将模板复制到临时文件夹,打开它,添加数据,然后将其保存到由用户提供的文件夹和文件名。 –