Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql VB.net将数据集写入XLSX中的非连续列_Sql_Vb.net_Dataset_Xlsx - Fatal编程技术网

Sql VB.net将数据集写入XLSX中的非连续列

Sql VB.net将数据集写入XLSX中的非连续列,sql,vb.net,dataset,xlsx,Sql,Vb.net,Dataset,Xlsx,关于将查询到的数据写入xlsx文件,而不是在连续列中,我有一个小问题 下面的代码是关于我当前将查询的四列从C6开始写入电子表格的方法的代码片段,因此数据是C、D、E和F 我现在的兴趣是将相同的数据集写入C、E、H和L列。有人能给我一个提示吗 提前谢谢 理查德 Dim da As SqlDataAdapter da = New SqlDataAdapter(Query1, SQLConn) Dim ds As New DataSet Dim i, j As Int

关于将查询到的数据写入xlsx文件,而不是在连续列中,我有一个小问题

下面的代码是关于我当前将查询的四列从C6开始写入电子表格的方法的代码片段,因此数据是C、D、E和F

我现在的兴趣是将相同的数据集写入C、E、H和L列。有人能给我一个提示吗

提前谢谢

理查德

    Dim da As SqlDataAdapter
    da = New SqlDataAdapter(Query1, SQLConn)

    Dim ds As New DataSet
    Dim i, j As Integer
    da.Fill(ds)

    'Write to Excel
    For i = 0 To ds.Tables(0).Rows.Count - 1
        For j = 0 To ds.Tables(0).Columns.Count - 1
            xlSht.Cells(i + 6, j + 3) = ds.Tables(0).Rows(i).Item(j).ToString
        Next
    Next

一个选项是创建一个列索引数组,如下所示:

Dim colIndexes As Integer() = {2, 4, 7, 11} '{C, E, H, L}
然后将
j+3
替换为
colIndexes(j)
以写入正确的单元格

xlSht.Cells(i + 6, colIndexes(j)) = ds.Tables(0).Rows(i).Item(j).ToString

美丽的。工作是一个梦想。谢谢你这么快的回复。世界一切都好起来了,我学到了一些东西。理查德