使用vbscript从sql到excel的完整记录集复制

时间:2017-03-28 12:23:55

标签: vb.net

专家请澄清我的疑问。

我有我的VB脚本将存储过程调用的结果集的65列(返回68列)复制到Excel工作表中。

我的存储过程查询返回完整的记录集,但我无法使用vbscript获取完整的结果集。我试图指定我想要的每一列,然后尝试单独计算列,但只有50列进入Excel,而不是完整的记录集。

为什么只有前50列,而不是整个集合?

提前致谢。

我尝试在Excel中仅显示标题(仅显示50个字段)

$actions = /* your actions retrieval, assume associative array */;
$actions[0]; //uid == 1, index == 0, etc

循环通过单个行和列,甚至只获得50列数据。

1 个答案:

答案 0 :(得分:0)

假设:1)您正在使用ActiveX数据对象(ADODB)或2)vb中的RecordSet类似地工作...

前段时间我在网上发现了这种方法,将记录集提取为标准.csv格式的字符串。快去看看它是否会帮助你。

Function RecordsetToCSV(rsData As ADODB.Recordset, 
                        Optional ShowColumnNames As Boolean = True, 
                        Optional NULLStr As String = "") As String

    Dim K As Long, RetStr As String = ""

    If ShowColumnNames Then
        For K = 0 To rsData.Fields.Count - 1
            RetStr = RetStr & ",""" & rsData.Fields(K).Name & """"
        Next K

        RetStr = Mid(RetStr, 2) & vbNewLine
    End If

    RetStr = RetStr & """" & rsData.GetString(ADODB.StringFormatEnum.adClipString, -1, """,""", """" & vbNewLine & """", NULLStr)
    RetStr = Left(RetStr, Len(RetStr) - 3)

    Return RetStr
End Function

这是旧代码,但它会检出...