我是 VB 語法的新手,我正在努力為 Excel 匯出添加條件。我有一個填充 DataGridView (dgvBreaks) 的資料集 (ds2)。資料集中的資料將如下所示:
| Emp_Name | 時鐘日期 | Time_In | 超時 | 全部小時數 | 實際_小時 | 休息 | 筆記 |
|---|---|---|---|---|---|---|---|
| 莫洛托,約瑟夫 | 2022 年 4 月 4 日 00:00 | 07:36:00 | 06:42:00 | 5,8 | 4,60 | 2 | 打卡時間:2022-04-05 - |
| 莫洛托,約瑟夫 | 2022 年 4 月 5 日 00:00 | 07:22:00 | 07:22:00 | 9,2 | 9,00 | 1 | |
| 莫洛托,約瑟夫 | 2022 年 4 月 6 日 00:00 | 07:40:00 | 16:31:00 | 8,9 | 8,80 | 0 | |
| 莫洛托,約瑟夫 | 2022 年 4 月 7 日 00:00 | 07:25:00 | 16:29:00 | 9,1 | 9,00 | 0 | |
| 莫洛托,約瑟夫 | 2022 年 4 月 8 日 00:00 | 07:34:00 | 15:35:00 | 8,0 | 8,90 | 0 | |
| 莫洛托,約瑟夫 | 2022 年 4 月 11 日 00:00 | 07:42:00 | 16:33:00 | 8,9 | 8,80 | 0 |
我想將網格視圖或資料集中的資料匯出到 excel 并根據單元格值格式化某些行。示例:如果實際小時數小于 8,則以紅色突出顯示一行。這樣該行將顯示為紅色:
| Emp_Name | 時鐘日期 | Time_In | 超時 | 全部小時數 | 實際_小時 | 休息 | 筆記 |
|---|---|---|---|---|---|---|---|
| 莫洛托,約瑟夫 | 2022 年 4 月 4 日 00:00 | 07:36:00 | 06:42:00 | 5,8 | 4,60 | 2 | 打卡時間:2022-04-05 - |
目前,我使用以下代碼將資料匯出到 Excel 作業表:
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Integer
Dim j As Integer
xlApp = New Microsoft.Office.Interop.Excel.Application
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
For i = 0 To dgvDataBreaks.RowCount - 2
For j = 0 To dgvDataBreaks.ColumnCount - 1
For k As Integer = 1 To dgvDataBreaks.Columns.Count
xlWorkSheet.Cells(1, k) = dgvDataBreaks.Columns(k - 1).HeaderText
xlWorkSheet.Cells(i 2, j 1) = dgvDataBreaks(j, i).Value.ToString()
Next
Next
Next
Dim path As SaveFileDialog = New SaveFileDialog
path.ShowDialog()
If DialogResult.OK Then
xlWorkSheet.SaveAs(path.FileName)
End If
xlWorkBook.Close()
xlApp.Quit()
releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)
MsgBox("You can find the file at: " path.FileName)
但我不確定如何添加條件檢查。(我如何只檢查實體的“實際時間”?)
uj5u.com熱心網友回復:
正如 JohnG 在評論中所說,這很簡單:
xlWorkSheet.Range(xlWorkSheet.Cells(i 2, 1), xlWorkSheet.Cells(i 2, 8)).Interior.Color = ColorTranslator.ToOle(Color.Red)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/459304.html
