Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:数据未填入对应的单元格

1楼
1234567 发表于:2025/5/12 17:58:00
Dim t As DataTable = DataTables("考勤明细")
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Add
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
app.ActiveWindow.SplitColumn = 3
app.ActiveWindow.SplitRow = 3
app.ActiveWindow.FreezePanes = True
ws.cells.rowheight = 20
ws.cells.Columnwidth = 10
ws.cells(1, 1).Columnwidth = 15
ws.cells(2, 1).Value = "序号"
ws.cells(2, 2).Value = "姓名"
Dim d1 As Date = #3/20/2025#
Dim d2 As Date = #4/21/2025#
Dim cs As Integer = 3
Do While d1 <= d2 
    If d1.DayOfWeek = 0 Then
        ws.cells(2, cs).Value = "周日" 
        ws.cells(2, cs).Font.ColorIndex = 3
    Else
        ws.cells(2, cs).Value = d1 & " "
    End If
    cs += 1
    d1 = d1.AddDays(1)
Loop

Dim strs As List(Of String) = t.GetValues("姓名")
For i As Integer = 0 To strs.count - 1
    ws.cells(i + 3, 2).Value = " " & strs(i) & " "
    
    
    Do While d1 <= d2     '     
        Dim drlist As List(Of DataRow) = t.Select("姓名='" & strs(i) & "' and 日期=#" & d1 & "#")
        Dim ss As String = ""
        Dim idxs As String = "-1,"
        If drlist.count > 0 Then
            For Each dr As DataRow In drlist
                ss = ss & "," & dr("数据")
                idxs &= dr("_Identify") & ","
            Next
        End If
        Dim idx As Integer = ss.length
        drlist = t.Select("姓名='" & strs(i) & "' and 日期=#" & d1 & "# and _Identify not in (" & idxs.trim(",") & ")")
        If drlist.count > 0 Then
            For Each dr As DataRow In drlist
                If dr.IsNull("日期") Then
                    ss = ss & "," & dr("数据")
                End If
            Next
            
        End If
        ws.cells(i + 3, cs).Value = ss.trim(",")
        ws.cells(i + 3, cs).Characters(0, idx).font.ColorIndex = 3
        ws.cells(i + 3, cs).Characters(idx).font.ColorIndex = 1
        cs += 1
        d1 = d1.AddDays(1)
    Loop
Next
App.Visible = True
2楼
有点蓝 发表于:2025/5/12 19:57:00
什么地方有问题?生成什么结果,正确的结果是什么?
共2 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02002 s, 2 queries.