使用 vbscript 从 sql 到 excel 的完整记录集副本



专家们请澄清我的疑问。

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

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

为什么只有前 50 列,而不是整套?

提前谢谢。

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

For i = 1 To rstcostbase.fields.Count 
    worksheet.Cells(i, 1).Value = rstcostbase.fields(i).Name 
Next i 
即使

这样,循环遍历单个行和列也只得到 50 列的数据。

假设:1(您正在使用ActiveX数据对象(ADODB(或2(vb 中的记录集都以类似的方式工作...

前段时间,我在网络上发现了这种方法,可以将记录集提取为标准.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

它是较旧的代码,但它检查出来...

最新更新