从网页中获取外部数据

通过创建或运行 Web 查询,可以从网页中检索文本或数据。网页包含的信息通常最适合用 Excel 进行分析。您可以根据需要检索可刷新的数据。也就是说,您可以用网页中的最新数据更新 Excel 中的数据。此外,您还可以从网页中检索数据并在工作表中将其设置为静态数据。

如果您使用的 Excel 2010 或更高版本,您可以使用 Excel 的获取和转换到连接到网页(Power Query) 体验。

你想如何操作?

了解有关从网页中获取外部数据的详细信息

创建和编辑 Web 查询

创建 Web 查询参数查询

从网页复制数据

运行已保存的 Web 查询文件

使网页重定向到另一个数据源的 Web 查询

问题︰ 时遇到问题排序、 筛选或搜索 Web 查询中的外部数据

了解有关从网页中获取外部数据的详细信息

您可以使用 Web 查询来检索 Intranet 或 Internet 上存储的可刷新数据,例如网页上的单个表格、多个表格或所有文本。接下来,您可以使用 Excel 中的工具和功能对数据进行分析。例如,您可以从公共网页中检索和更新股票报价,或者从公司网页中检索和更新销售信息表格。

Web 查询特别适用于检索表格或预设格式区域中的数据(表格由 HTML <TABLE> 标记定义。预设格式的区域通常由 HTML <PRE> 标记定义)。检索到的数据不包括图片(例如 .gif 图像)和脚本内容。

若要创建 Web 查询,您需要访问到万维网 (WWW) 通过贵公司的 intranet 或调制解调器计算机或网络上。或者,您可以对本地 HTML 或 XML 文件中进行查询。

示例 Web 查询

安装 Microsoft Office Excel 2007 时会附带安装一些示例 Web 查询。默认情况下,这些查询位于硬盘上的 \Program Files\Microsoft Office\Office12\QUERIES 文件夹中:

  • MSN MoneyCentral Investor Major Indicies.iqy

  • MSN MoneyCentral Investor Currency Rates.iqy

  • MSN MoneyCentral Investor Stock Quotes.iqy(Web 查询参数查询)

获取外部数据的方式

如果您在使用 Excel,则可以使用“新建 Web 查询”对话框导入来自网页的数据(在“数据”选项卡上的“获取外部数据”组中,单击“自网站”)。

如果您在使用 Internet Explorer,则可通过两种方式将外部数据导入 Office Excel 中:

  • 使用熟悉的复制和粘贴命令将数据从 Excel 工作表上的网页。网页数据粘贴到 Excel 时,您可以将数据静态或使其可刷新通过单击粘贴选项 按钮图像 ,然后单击创建可刷新 Web 查询

  • 右键单击网页,然后单击快捷菜单上的“导出到 Microsoft Excel”。这将显示“新建 Web 查询”对话框。

注意: 您也可以在 Excel 中打开任何HTML文件、 MHTML 文件或格式良好的 XML 文件。当您打开 HTML 或 MHTML 文件时,获取整个网页,但您可能会丢失一些格式,脚本、 图像文件 (仅 HTML) 或列表中的单个单元格的数据。当您打开 XML 文件时,您可以应用一个或多个引用样式表的选择。在两种情况下,数据不刷新。

创建 Web 查询参数查询

参数查询是提示输入每次您运行该查询。您可以通过编辑已保存的 Web 查询文件 (.iqy) 创建 Web 查询参数查询。例如,从网页中获取股价 Web 查询可以提示您输入参数值,如股票代码,每次运行 Web 查询参数查询。

Web 查询参数查询基于 URL 查询字符串,这是一个或多个名称/值对附加到 URL 末尾。某些网站使用 URL 查询字符串更改网页的内容。使用 URL 查询字符串具有以下格式,如下面的示例所示︰ 1 2 3 4 5 -----------------------------URL------------------------------?<Name>=<Val> http://moneycentral.msn.com/investor/external/excel/quotes.asp?quote=MSFT

1

URL

网页的 URL

",2"

?

问号 (?) 开始使用 URL 查询字符串。

3

< 名称 >

名称,在此示例中,是报价

4

=

在等号字符 (=) 分隔的值的名称。

(5)

< Val >

在此示例中,其值是MSFT

如果要传递两个或多个名称/值对,用 & 字符分隔它们 (&)。例如︰ 1 2 3 ...?<Name>=<Val>&<Name>=<Val> ...?Quote=MSFT&Quote=IBM

1

< 名称 > = < Val >

名字中的值对是询价 = MSFT

",2"

&

& 字符 (&) 分隔每个名称/值对。

3

< 名称 > = < Val >

第二个名称/值对是询价 = IBM

通过使用以下格式,可以使用 URL 查询字符串在基于 Web 查询参数查询。例如︰ 1 2 3 4 5 6 ...?<Name>=["Parameter","Prompt"] ...?Symbol=["StockSymbol","Enter stock symbol:"]

1

< 名称 >

本示例中,这是符号中的名称。

",2"

=

在等号字符 (=) 分隔的参数和提示字符串中的名称。

3

"参数"

参数,用引号引起来,Excel 用于标识参数对话框中,在此示例中,这是StockSymbol中的参数的名称。

4

,

逗号 (,) 分隔从提示参数。

(5)

"Prompt"

显示提示时,用引号引起来,Excel 将显示在Enter 股票代码︰对话框中,在本示例中,这是Enter 股票代码︰

6

[...]

左中的括号 ([) 和右中括号 (]) 字符分隔的提示字符串。

将 Web 查询重定向到其他数据源

如果您是网页作者,但是可以增大用户从页面中检索通过让 Excel 重定向到数据源,如 XML 或文本文件从 Web 查询的数据的可靠性。

例如,如果某个 HTML 页包含一个股票报价表,则可以在 Web 查询中使用该表格数据,即使数据是从其他数据源传递的也不例外。此外,如果您正指向 Windows SharePoint Services 网站上的某个表格,而该表格总结了项目的状态,则可以创建 Web 查询来传递主状态列表中的数据。

这种重定向有两大优点。第一,对于要导入的 HTML 网页,您可以设置它的格式以方便查看,即使已经为了加以分析而对该数据进行了优化(例如使用 XML 格式)。第二,数据的 HTML 视图可能被分为多个数据页(例如,每次显示 20 个结果),而 Web 查询可重定向到整个数据集。

使用表、 前、 XMP、 列表,或纯文本标记,用于标识基础数据的存储位置,您可以使用 HTML 属性。网页作者可以使用此重定向属性, o:WebQuerySourceHRef,列表数据源的 URL,以便 Web 查询可以链接到原始源数据。要避免其他重定向属性与冲突的 Microsoft Office 命名空间中定义了此重定向属性。数据源可以是任何支持的 Web 查询的数据类型,如 HTML、 文本或 XML。使用此属性时,您不必担心刷新时获取正确的内容。Web 查询包含有关数据源的路径的信息,可以直接从该源中提取更新后的数据。

返回页首

创建和编辑 Web 查询

  1. 要创建新的 Web 查询或编辑现有的 Web 查询,请执行下列操作之一:

    创建新的 Web 查询   

    1. 请执行下列操作之一:

      • 在 Office Excel 的“数据”选项卡上,单击“获取外部数据”组中的“自网站”

      • 在浏览器中,通过浏览找到要从中进行数据查询的网页,右键单击该网页,然后单击快捷菜单上的“导出到 Microsoft Excel”

        将显示“新建 Web 查询”对话框。

    2. 新建 Web 查询对话框中,输入您要从中获取数据的网页的 URL。您可以键入的 URL、 将其粘贴复制的地址,或单击地址列表旁边的箭头并选择最近使用过的地址。

      注意: URL 的最大长度为 255 个字符。

    3. 单击“转到”

      编辑现有 Web 查询   

    4. “数据”选项卡上的“连接”组中,单击“连接”

      Excel 功能区图像

    5. “工作簿连接”对话框中,选择 Web 查询,然后单击“属性”

    6. “连接属性”对话框中,单击“定义”选项卡,然后单击“编辑查询”

  2. 单击要导入的表旁边的 选择表格 按钮,或单击按钮 选择表格 中要导入整个页面的页面的左上角。

    提示: 如果不存在任何 选择表格 按钮旁边的表在页面上,单击顶部的对话框来显示它们的显示图标 隐藏图标

  3. 要设置格式和导入选项以确定数据的返回方式,请单击“选项”,然后在“Web 查询选项”对话框中执行下列一项或多项操作:

    1. “格式”下,单击下列选项之一:

      •     此选项只返回所查询网页上的文本,但不返回任何格式。将应用工作表上的格式。

      • 仅 RTF 格式     此选项返回基本上可由 Office Excel 复制的格式类型,例如字体样式。它不包括 HTML 格式,例如超链接格式。

      • 完全 HTML 格式     此选项返回 Excel 支持的所有 HTML 格式,例如超链接格式。选择此选项将清除“外部数据区域属性”对话框中的“保留单元格格式”复选框。

    2. “导入预格式化的 <PRE> 块的设置”下,选择下列一个或多个选项:

      • 将 <PRE> 块导至列中      由 <PRE> 标记包围的数据块将被导入工作表上的不同列中。清除此复选框可将数据返回到单个列中。

      • 连续分隔符号视为单个处理     如果 <PRE> 节中每个列的文本都由字符定义或分隔(例如逗号),则可以指定 Excel 在遇到其中多个连在一起的分隔符时,将它们作为一个分隔符处理。这样,各个连续的分隔符之间将不会插入一个空列。只有选中“将 <PRE> 块导至列中”复选框时,此复选框才可用。

      • 全部使用相同的导入设置     选中此复选框,可对网页上所有预设格式的节应用“连续分隔符号视为单个处理”设置。如果要仅对第一个预设格式的节应用此设置,或者您希望 Excel 确定最佳设置,请清除此复选框。只有选中“将 <PRE> 块导至列中”复选框时,此复选框才可用。

    3. “其他导入设置”下,选择下列一个或多个选项:

      • 禁用日期识别     此选项可确保网页上显示的类似日期的数字在工作表上显示为数字。例如,如果不选择此选项,体育立定跳得分 03-07 将被 Excel 识别为日期 - 3 月 7 日。

      • 禁用 Web 查询重定向     此选项可确保 Web 查询不会重定向到不同于所查询网页上显示的内容的数据源。如果要兼容用 Excel 早期版本创建的查询,请选中此复选框。

  4. 单击“确定”。Web 查询将与工作簿保存在一起。

  5. 此外,还可以将 Web 查询保存到 Web 查询文件 (.iqy) 中,以便在其他工作簿中运行该查询以及创建参数查询。

    有关详细信息,请参阅创建 Web 查询参数查询

    将 Web 查询保存到 Web 查询文件

    1. 编辑 Web 查询对话框中,单击保存查询 按钮图像

    2. 找到要在其中保存查询的文件夹。

      默认情况下,保存的查询位于 \Documents 和 \local < 用户名 > \Application Data\Microsoft\Queries 硬盘上的文件夹中。

    3. “文件名”框中输入文件名。

    4. 单击“保存”。

      查询将保存到一个文件扩展名为 .iqy 的文本文件中。

  6. 单击“导入”

    “导入数据”对话框中,执行下列操作之一:

    1. 要将网页中的数据返回到选定的工作表,请单击“现有工作表”。在工作表上,单击要放置外部数据区域左上角的单元格,然后单击“确定”

    2. 要将数据返回到新工作表,请单击“新建工作表”,然后单击“确定”。Excel 会向工作簿中添加一个新工作表,并自动从新工作表的左上角开始放置外部数据区域。

      单击确定后,后台刷新图标 刷新指示器 将出现在状态栏以表示查询正在运行。若要检查查询的状态,请双击刷新图标。

返回页首

创建 Web 查询参数查询

  1. 在 Windows 资源管理器中,找到您的计算机上的查询文件。

    默认情况下,保存的查询位于 \Documents 和 \local < 用户名 > \Application Data\Microsoft\Queries 硬盘上的文件夹中。

  2. 右键单击该文件,然后单击“用记事本编辑”。查询将在 Microsoft 记事本中打开,您可以在其中对该文件进行更改。

  3. 在该文件的文本中,找到作为导入数据来源的 Web 地址的 URL,例如:

http://moneycentral.msn.com/investor/external/excel/quotes.asp

在 URL 结尾处,键入以下内容(不要在 URL 结尾处插入空格):

?Symbol=["Quote", "Enter one or more financial symbols separated by commas."]

  1. “文件”菜单上,单击“保存”,然后退出记事本。

返回页首

从网页中复制数据

  1. 在 Web 浏览器中,选择要复制的数据。

  2. 复制所选的数据。

    注意: 有关复制操作的信息,请参阅浏览器的“帮助”。

  3. 切换到 Excel。

  4. 在工作表的左上角中,单击要显示复制的数据的区域。

  5. 在“开始”选项卡上的“剪贴板”组中,单击“粘贴”。

    Excel 功能区图像

  6. 如果数据未按预期方式显示,请单击粘贴选项 按钮图像 ,,然后单击下列选项之一︰

    • “保留源格式”,不进行任何更改。

    • “匹配目标格式”,与现有的单元格格式匹配。

    • “创建可刷新的 Web 查询”,创建指向从其复制数据的网页的查询。如果该网页后来发生更改,则可以刷新数据。

返回页首

运行保存的 Web 查询文件

Web 查询保存在文件扩展名为 .iqy 的文本文件中。保存的查询十分有用,您可以在不同的工作簿中或与其他用户共享同一 Web 查询,也可以创建 Web 查询参数查询。

  1. 单击“Microsoft Office 按钮” Office 按钮图像 ,然后单击“打开”。

  2. “查找范围”框中,找到存储查询文件的文件夹。

  3. 选择要运行的 Web 查询。

  4. 单击“打开”

  5. “导入数据”对话框中,执行下列操作之一:

    • 要将网页中的数据返回到选定的工作表,请单击“现有工作表”。在工作表上,单击要放置外部数据区域左上角的单元格,然后单击“确定”

    • 要将数据返回到新工作表,请单击“新建工作表”,然后单击“确定”。Excel 会向工作簿中添加一个新工作表,并自动从新工作表的左上角开始放置外部数据区域。

  6. 如果该 Web 查询是一个参数查询,“输入参数值”对话框将提示您输入参数,除非已将参数查询设置为返回特定的值。

    要编辑参数的设置,请在步骤 5 的“导入数据”对话框中单击“参数”

    有关详细信息,请参阅自定义的参数查询

    Excel 运行的查询。后台刷新图标 刷新指示器 将出现在状态栏以表示查询正在运行。若要检查查询的状态,请双击刷新图标。

返回页首

让网页将 Web 查询重定向到其他数据源

  1. 在网页的 HTML 开始标记中,添加以下 Microsoft Office 命名空间声明:

    <HTML xmlns:o="urn:schemas-microsoft-com:office:office”>

  2. 在网页的正文中,向 TABLE、PRE、XMP、LISTING 或 PLAINTEXT 开始标记添加以下属性。例如:

    < 表...o:WebQuerySourceHRef ="URL">

    其中值是 URL (相对或绝对) 您要重定向 Web 查询。

注意: 通过在“Web 查询选项”对话框中选中“禁用 Web 查询重定向”复选框,用户可以忽略网页上的重定向。您可以从“新建 Web 查询”对话框中访问此复选框。

返回页首

问题:我在用 Web 查询排序、筛选或搜索外部数据时遇到问题

由 Web 查询返回的外部数据可能包含前导空格、尾部空格或多个嵌入的 Unicode 空格字符(值 160)。当您对数据进行排序或筛选,或者执行搜索操作时,这些空格字符有时会导致意外的结果。

有关如何处理这些和其他字符的详细信息,请参阅删除空格和文本中的非打印字符

返回页首

注释: 

  • 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

  • 请在 此处 中查找本文的英文版本以便参考。你和 Microsoft 社区的其他成员可以使用 Community Translation Framework (CTF) 来改进本文。只需将鼠标悬停在文章中的句子上,然后在 CTF 小组件中单击“IMPROVE TRANSLATION”即可。 单击此处了解有关 CTF 的详细信息。 使用 CTF 即表示你同意服务条款

另请参阅

从外部数据源导入数据 (Power Query)

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×