Database 使用单元格颜色从Excel导入数据

Database 使用单元格颜色从Excel导入数据,database,vb.net,excel,datagridview,Database,Vb.net,Excel,Datagridview,我正在创建一个从excel文件收集数据的数据库。导入非常容易,但是导入时单元格颜色花费了太多时间,因为我当前正在逐个设置单元格的颜色 是否有办法绕过此问题,将颜色、字体、前景色等数据作为数据集与数据表一起导入,以便在dgv中显示 到目前为止,我掌握的代码是: obooks = oexcel.ActiveWorkbook path = obooks.FullName osheet = obooks.Worksheets(e.Node.Text) osheet.Activate() sheetnam

我正在创建一个从excel文件收集数据的数据库。导入非常容易,但是导入时单元格颜色花费了太多时间,因为我当前正在逐个设置单元格的颜色

是否有办法绕过此问题,将颜色、字体、前景色等数据作为数据集与数据表一起导入,以便在dgv中显示

到目前为止,我掌握的代码是:

obooks = oexcel.ActiveWorkbook
path = obooks.FullName
osheet = obooks.Worksheets(e.Node.Text)
osheet.Activate()
sheetname = "[" + e.Node.Text + "$]"
myconnection = New  System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + " ;Extended Properties='Excel 8.0;HDR=No;IMEX=1'")
    mycommand = New System.Data.OleDb.OleDbDataAdapter("select * from " & sheetname, myconnection)
    dataset = New System.Data.DataSet
    mycommand.Fill(dataset)
    workspace_data.DataSource = dataset.Tables(0)
    'workspace_data.DataSource = databind.
    myconnection.Close()
    For Me.i = 0 To workspace_data.Rows.Count - 1
        For Me.j = 0 To workspace_data.Columns.Count - 1
            With workspace_data.Rows(i).Cells(j)
                .Style.BackColor = ColorTranslator.FromOle(osheet.UsedRange.Cells(i + 1, j + 1).Interior.color)
            End With
        Next
    Next

可能是每个网格单元颜色的设置占用了时间。尝试在更新网格时使其不可见,或使用虚拟模式,或在CellPaint事件中绘制背景色感谢我尝试了DatagridView.Visible方法,这大大提高了速度,但我无法理解CellPaint事件。你建议我如何使用它。