将CSV数据从Web服务导入Excel

Ada*_*ski 6 html csv excel vba http

我写了一个简单的Web服务,返回大量的csv数据.我将使用Excel的"来自Web的数据"功能以表格格式将其导入Excel.

有没有办法让Excel自动解析返回到各个列的csv字段作为导入操作的一部分?

目前,我这样做的唯一方法是首先将数据导入单个列,然后编写VBA代码以选择数据并使用它进行拆分TextToColumns.这感觉很乱/容易出错.

我的另一个选择是修改Web服务器以将数据作为HTML提供服务.但是,我不愿意这样做,因为在每个csv字段周围添加标签会极大地影响返回的数据量.

Rob*_*ink 1

亚当斯基,

这是我用的东西。我在互联网上找到了核心,但不知道在哪里。

它的作用是打开一个制表符分隔的文件并读取 Excel 工作表中的数据

If Answer1 = vbYes Then    'I asked prior if to import a tab separated file
    Sheets("ZHRNL111").Select    'Select the sheet to dump the data
    On Error Resume Next
    With ActiveSheet
        If .AutoFilterMode Then .ShowAllData    'undo any autofilters
    End With
    Sheets("ZHRNL111").Cells.Clear    'remove any previous data
    On Error GoTo 0
    Range("A1").CurrentRegion.Delete
    Fname = MyPath & "\LatestReports\Report-111.tsv"
    Open Fname For Input As #1
    iRow = 1
    Line Input #1, Record
    On Error Resume Next
    Do Until EOF(1)
        P = Split(Record, vbTab)
        For iCol = 1 To 14
            Cells(iRow, iCol) = P(iCol - 1)
        Next iCol
        iRow = iRow + 1
        Line Input #1, Record
    Loop
    On Error GoTo 0
    Close 1
End If
Run Code Online (Sandbox Code Playgroud)

问候,

罗伯特·伊布林克