Excel:来自 Web 的新 Powerquery(csv)不起作用

Excel:来自 Web 的新 Powerquery(csv)不起作用

我想建立一个工作表,用户可以在其中输入股票代码,然后资产负债表会自动从晨星下载到表格中,然后对数据运行一些自定义公式。

在github上我发现了隐藏的morningstar API: https://gist.github.com/hahnicity/45323026693cdde6a116

例如,为了检索一些财务信息,我使用(在我的浏览器中): http://financials.morningstar.com/ajax/ReportProcess4CSV.html?t=TWTR&reportType=is&period=12&dataType=A&order=asc&columnYear=5&number=3

现在我尝试使用以下方式构建查询数据->新查询->来自不同来源->来自网络,我输入了 URL,但没有像在浏览器中那样看到实际的 csv 数据,而是弹出一个窗口,实际上在新的 Excel 窗口中打开了该文件。即使尝试查询 csv 并在那里输入 URL,也不起作用。

弹出窗口如下: 在此处输入图片描述

我不想打开这个文件,我想查询 csv 数据!

知道为什么它不起作用吗?如何让它真正起作用?

多谢

答案1

我不知道 Excel 是否有办法按照您的意愿运行;不过,我编写了一个程序,用于下载股票数据。我以前使用 yahoo.finance.com,但您可以根据您获取股票数据的网站轻松修改它:

Sub GetData()

Dim QuerySheet As Worksheet
Dim DataSheet As Worksheet
Dim qurl As String
Dim i As Integer

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual

Set DataSheet = ActiveSheet

range("C7").CurrentRegion.ClearContents
i = 7
qurl = "http://ichart.finance.yahoo.com/table.csv?s=" + Cells(i, 1)
i = i + 1
While Cells(i, 1) <> ""
    qurl = qurl + "+" + Cells(i, 1)
    i = i + 1
Wend
qurl = qurl + "&f=" + "nl1vhgd1rm4"

QueryQuote:
         With ActiveSheet.QueryTables.Add(Connection:="URL;" & qurl, Destination:=DataSheet.range("C7"))
            .BackgroundQuery = True
            .TablesOnlyFromHTML = False
            .Refresh BackgroundQuery:=False
            .SaveData = True
        End With

        range("C7").CurrentRegion.TextToColumns Destination:=range("C7"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=True, Space:=False, other:=False


'turn calculation back on
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True

Columns("C:C").ColumnWidth = 25.43
range("h2").Select

End Sub

相关内容