导出到 Microsoft Excel

Excel 呈现扩展插件可呈现与 Microsoft Excel 97 和更高版本兼容的报表。将报表导出至 Excel 电子表格时,将会去掉一些布局和原始设计元素,如本主题所述。以 Microsoft Excel 格式呈现的报表为二进制交换文件格式 (BIFF)。由此呈现器生成的文件的内容类型为:application/vnd.ms-excel。由此呈现器生成的文件的扩展名为 .xls。

安全说明安全说明

定义 String 类型的参数时,系统将向用户显示一个可以使用任何值的文本框。如果报表参数未与查询参数关联,并且参数值包含在报表中,则报表用户可以向参数值中键入表达式语法、脚本或 URL,并将报表呈现为 Excel。如果其他用户查看报表并单击呈现的参数内容,则用户可能会无意中执行恶意脚本或链接。

若要降低无意中运行恶意脚本的风险,请仅从可信来源打开呈现的报表。有关保护报表安全的详细信息,请参阅 Securing Reports and Resources(保护报表和资源)。

Excel 格式的报表项

矩形、子报表、表体和数据区域呈现为一组 Excel 单元格。文本框、图像和图表必须呈现在一个 Excel 单元格内,这些元素可能会根据报表其余部分的布局进行合并。

图像、图表和线条虽然位于一个 Excel 单元格内,但是它们却位于单元网格的顶部。线条呈现为单元格边框。

分页

此呈现器仅支持逻辑分页符。对于每个明确定义的逻辑分页符,均会创建一个新的 Excel 工作表选项卡。

页面命名

如果在工作簿中仅有一个工作表(不包括文档结构图),则该工作表的名称即为报表名称。

如果在工作簿中存在多个工作表(不包括文档结构图),则这些工作表将被命名为 SheetX,其中 X 是工作簿中工作表的编号,例如,第五个工作表称为 Sheet5。

确定页大小

Excel 呈现扩展插件采用页面高度和宽度设置来确定要在 Excel 工作表中定义哪些纸张设置。Excel 会试图将 PageHeightPageWidth 属性设置与最常用的一种纸张大小相匹配。

如果未找到匹配项,Excel 将使用打印机的默认页面大小。如果页面宽度小于页面高度,则将页面方向设置为“纵向”;否则,将方向设置为“横向”。

文档属性

Excel 呈现器会将以下元数据写入 Excel 文件。

报表元素属性

说明

Created

报表执行的日期和时间,格式为 ISO 日期/时间值。

Author

Report.Author

Description

Report.Description

LastSaved

报表执行的日期和时间,格式为 ISO 日期/时间值。

页眉和页脚

根据设备信息 SimplePageHeaders 设置,页眉可以按两种方式呈现:页眉可以呈现在每个工作表单元网格的顶部,或者位于实际 Excel 工作表表头部分。默认情况下,页眉呈现至 Excel 工作表的单元网格上。

页脚始终呈现至实际 Excel 工作表表尾部分,无论 SimplePageHeaders 设置的值如何。

Excel 表头和表尾部分最多支持 256 个字符,其中包括标记。如果超出此限制,则 Excel 呈现器将删除自表头和/或表尾字符串末尾开始的标记字符,以便减少总字符数。如果在删除所有标记字符后,字符串长度仍然超出最大限制,则系统会自右侧开始截断字符串。

SimplePageHeader 设置

默认情况下,设备信息 SimplePageHeaders 设置将设为 False;因此,页眉在 Excel 工作表图面上呈现为报表行。而包含页眉的工作表行将变成锁定的行。您可以冻结或解冻 Excel 中的窗格。如果选中**“打印标题”**选项,则这些页眉将自动设置为在每个工作表页上打印。

如果在 Excel 的“页面布局”选项卡上选中**“打印标题”选项,则页眉会在工作簿中每个工作表的顶部重复(文档结构图封面表除外)。如果在“报表表头属性”或“报表表尾属性”对话框中未选中“在首页上打印”“在最后一页上打印”**选项,则表头不会分别添加到第一页或最后一页。

页脚将呈现在 Excel 表尾部分。

由于 Excel 的局限性,文本框是唯一能呈现在 Excel 表头/表尾部分的报表项类型。

交互

Excel 支持一些交互元素。下面是对一些特定行为的说明。

显示和隐藏

Microsoft Excel 对导出报表项时如何控制隐藏和显示报表项存在局限性。包含可切换的报表项的组、行和列将呈现为 Excel 大纲。Excel 可创建在整个行或列范围内扩展和折叠行与列的大纲,这样会导致折叠那些本来不应该折叠的报表项。此外,Excel 的大纲符号会与重叠的大纲混合在一起。为解决这些问题,在使用 Excel 呈现扩展插件时将应用以下大纲规则:

  • 位于左上角可切换的报表项在 Excel 中仍然可以进行切换。与位于左上角可切换的报表项共享垂直或水平空间的可切换报表项在 Excel 中不能进行切换。

  • 若要确定数据区域将按行还是按列折叠,需确定控制切换的报表项的位置以及要切换的报表项的位置。如果控制切换的报表项出现在要切换的报表项之前,则项可以按行进行折叠。否则,项可以按列进行折叠。如果控制切换的报表项均匀地出现在要切换的区域的旁边和上方,则在呈现项时行可以按行折叠。

  • 若要确定小计在所呈现报表中的位置,呈现扩展插件将检查动态成员的第一个实例。如果对等静态成员紧靠在其上方,则假定该动态成员为小计。大纲将设置为指示这是摘要数据。如果动态成员没有静态同级,则该实例的第一个实例即为小计。

  • 由于 Excel 的局限性,大纲的嵌套级别最多不能超过 7 级。

文档结构图

如果报表中存在任何文档结构图标签,则会呈现文档结构图。文档结构图呈现为 Excel 的封面工作表,插在工作簿的第一个选项卡位置。该工作表称为“文档结构图”。

文档结构图中显示的文本由报表项或组的 DocumentMapLabel 属性决定。文档结构图标签按它们在报表中出现的顺序列出,自第一列的第一行开始。每个文档结构图标签单元的缩进深度级别数与报表中所出现的一样。每个缩进级别是通过在后续列中放置一个标签来表示的。Excel 最多可支持 256 个大纲嵌套级别。

文档结构图大纲呈现为可折叠的 Excel 大纲。大纲结构与文档结构图的嵌套结构相匹配。大纲的扩展和折叠状态从第二级开始。

结构图的根节点是报表名称 <reportname>.rdl,并且它是不可交互的。文档结构图链接字体是宋体 (10pt)。

钻取链接

文本框中出现的钻取链接在用于呈现文本的单元格中呈现为 Excel 超链接。图像和图表的钻取链接在呈现的图像上呈现为 Excel 超链接。单击钻取链接时,将打开客户端的默认浏览器并导航到目标的 HTML 视图。

超链接

文本框中出现的超链接在用于呈现文本的单元格中呈现为 Excel 超链接。图像和图表的超链接在呈现的图像上呈现为 Excel 超链接。单击超链接时,将打开客户端的默认浏览器并导航到目标 URL。

交互式排序

Excel 不支持交互式排序。

书签

文本框中的书签链接在用于呈现文本的单元格中呈现为 Excel 超链接。图像和图表的书签链接在呈现的图像上呈现为 Excel 超链接。单击书签后,将转至用于呈现标有书签的报表项的 Excel 单元格。

Excel 样式呈现

下面简要说明了项在 Excel 中的呈现方式。

调色板

Excel 可支持多达 56 种颜色的调色板。报表所用的前 56 种唯一颜色是在自定义调色板中定义的。如果报表所用的颜色多于 56 种,则呈现扩展插件会将所需颜色与调色板中已有的 56 种颜色中的一种进行匹配。Excel 的颜色匹配算法可用于将颜色与调色板中现有的颜色相匹配。

Excel 限制

由于 BIFF 的格式功能,Excel 对于导出的报表存在一些限制。最重要的限制包括:

  • 工作表的最大行数限制为 65,536 行。如果超出此限制,呈现器会显示错误消息。

  • 工作表的最大列数限制为 256 列。如果超出此限制,呈现器会显示错误消息。

  • 最大列宽限制为 255 个字符(或 1726.5 磅)。呈现器不会验证列宽是否小于此限制。

  • 最大行高为 409 磅。如果行内容导致行高超过 409 磅,则内容将被拆分并添加至下一行。

  • 单元格中的最大字符数限制为 32,767 个。如果超出此限制,呈现器会显示错误消息。

    注意注意

    Excel 工作表的单元格中大约显示 1000 个字符,但是可以在编辑栏中编辑允许的最大字符数。

  • 在 Excel 中并没有限定工作表的最大数量,但是诸如内存和磁盘空间等外部因素可能限制工作表的最大数量。

  • 内容为表达式文本框值不会转换为 Excel 公式。报表处理过程中会计算每个文本框的值。计算表达式会作为每个 Excel 单元格的内容导出。

  • 如果合并单元格,则自动换行功能可能不正常。如果行中存在任一合并单元格,并且所呈现的文本框具有 AutoSize 属性,则自动调整大小功能将会不正常。

  • 由于 Excel 不支持单个单元格的背景图像,因此将忽略报表项的背景图像。

  • 文本框呈现在 Excel 的一个单元格内。Excel 单元格中的单个文本仅支持字号、字体、效果以及字形格式。

  • Excel 中不支持文本效果“上横线”。

  • Excel 表头和表尾最多支持 256 个字符,其中包括标记。呈现扩展插件将在 256 个字符处截断字符串。

  • 在大纲中,Excel 最多允许 7 层嵌套级别。

  • 如果控制另一个报表项是否切换的报表项不是位于要切换的报表项的上一或下一行/列,则还会禁用大纲功能。

  • Excel 呈现扩展插件仅支持表体的背景图像。如果报表中显示有表体背景图像,则该图像呈现为工作表的背景图像。

  • Excel 在单元格的左右两侧将默认添加大约 3.75 磅的填充量。如果文本框的填充设置小于 3.75 磅,并且其宽度仅足以容纳文本,则在 Excel 中文本可能换行。

    注意注意

    若要解决此问题,请增加报表中文本框的宽度。

设备信息设置

您可以通过更改设备信息设置来更改此呈现器的某些默认设置。有关详细信息,请参阅 Reporting Services Device Information Settings(Reporting Services 设备信息设置)。