VB.net excel 每行只填写一项

VB.net excel only fills in one item per row

我正在使用自动化合规工具,遇到了以下问题:

我正在生成一个 excel sheet,目前看起来像这样(由于公司数据而使用虚拟数据):

但实际上应该看起来像这样(不是实际数据):

正在使用名为 getRightsForPath() 的函数中的以下查询从数据库中提取信息:

"SELECT DUMPSEC.rights 
 FROM DUMPSEC
 WHERE DUMPSEC.location ='" & sql2 & "'
 AND DUMPSEC.members = '" & sql1 & "'"

这是一个循环,应该负责将权限添加到正确的单元格:

For i = 1 To groupCounter Step +1
    Dim rights = getRightsForPath(sourceLocation, xlWorksheet.Cells(2, i + 1).Value, xlWorksheet.Cells(Row, 1).Value)

        Do While rights.Read()

            xlWorksheet.Cells(Row, i + 1) = rights("rights")
            //MessageBox.Show(locations("location") & ", " & groupOwnerOf("groupname") & ", " & rights("rights"))

         Loop

Next
Row += 1

好吧,我自己想出来了,我忘了把它全部放在一个循环中并检查要完成的行(如这段代码所示)

For Row = 3 To locationCount Step +1
    For i = 2 To groupCounter + 1 Step +1
        Dim rights = getRightsForPath(sourceLocation, xlWorksheet.Cells(2, i).Value, xlWorksheet.Cells(Row, 1).Value)
        Do While rights.Read()
            xlWorksheet.Cells(Row, i) = rights("rights")
        Loop
    Next
Next