无表格网页数据导入Excel:无Import from Web编辑选项时提取指定值
无Import from Web功能时,抓取指定网页特定数值到Excel的方法
方法一:用Power Query(多数Excel版本自带)
Power Query是Excel内置的数据抓取工具,入口和你提到的Import from Web不同,操作步骤:
- 打开Excel,切换到「数据」选项卡,点击「获取数据」→「自其他来源」→「自网页」
- 输入目标网址
https://www.tefas.gov.tr/FonAnaliz.aspx?FonKod=TCD,点击「确定」 - 在弹出的导航器中,找到你需要的数值对应的区域;如果是零散数值,可切换到「高级编辑器」编写M代码精准定位
- 提取完成后,点击「关闭并上载」,数据会导入Excel,还能右键设置「刷新」获取最新值
方法二:VBA脚本抓取
适合处理动态加载内容或需要自定义逻辑的场景:
- 按
Alt+F11打开VBA编辑器,插入新模块 - 粘贴以下代码(需根据网页实际HTML结构调整元素定位,比如替换
targetId为你要抓取数值的元素ID):
Sub 获取Tefas基金数据() Dim IE As Object Dim 目标元素 As Object Set IE = CreateObject("InternetExplorer.Application") IE.Visible = False IE.Navigate "https://www.tefas.gov.tr/FonAnaliz.aspx?FonKod=TCD" '等待页面加载完成 Do While IE.Busy Or IE.ReadyState <> 4 DoEvents Loop '替换为实际元素的ID或Class定位逻辑 Set 目标元素 = IE.Document.getElementById("targetId") If Not 目标元素 Is Nothing Then ThisWorkbook.Sheets("Sheet1").Range("A1").Value = 目标元素.innerText Else MsgBox "未找到目标数据,请检查元素定位" End If IE.Quit Set IE = Nothing End Sub
- 运行宏,数据会写入指定单元格,后续可手动运行或设置定时刷新
方法三:WEBSERVICE+FILTERXML函数(仅适用于静态网页)
如果网页是静态渲染的,可直接用Excel函数抓取:
- 在目标单元格输入公式(需替换XPath路径为实际元素的定位路径,比如根据Class或ID编写):
=FILTERXML(WEBSERVICE("https://www.tefas.gov.tr/FonAnaliz.aspx?FonKod=TCD"), "//*[@class='目标元素类名']")
- 注意:如果网页是JS动态加载内容,此方法无法获取到数据,建议用前两种方法
关键提示
无论用哪种方法,都需要先右键目标网页→「查看页面源代码」,找到你要抓取的数值对应的HTML标签(比如ID、Class属性),确保定位逻辑准确。
内容的提问来源于stack exchange,提问作者Ataberk Genç
相关产品推荐
相关产品推荐

