共用方式為


格式化文字和匯入 HTML

文字方塊可以是資料區域內包含文字的報表項目或個別資料格、導出欄位、資料庫中欄位的指標,或是所有這三個項目的結合。您可以混合字型和色彩、加入粗體和斜體樣式,以及使用對齊和首行縮排等段落樣式。您可以格式化整個文字方塊,也可以格式化文字方塊內的特定文字、數字、運算式或欄位。

字型、大小、色彩和效果全部都對報表的可讀性有所貢獻。您可以將字型、字型樣式、字型大小和底線線效果套用至文字方塊或資料區域。依預設,使用的報表字型為 Arial,10 點和黑色。您可以使用 [文字方塊屬性] 對話方塊來指定在轉譯報表時顯示文字的方式。

在文字方塊內定義簡單或複雜運算式時,所產生的運算式 UI 表示法稱為「預留位置」(Placeholder)。您可以在單一文字方塊內任何數目的預留位置或文字區段上,定義色彩、字型、動作和其他行為。

在文字方塊中建立預留位置文字

預留位置的値永遠是簡單或複雜運算式。您可以使用下列其中一個方法建立運算式,將預留位置加入至文字方塊:

  • [報表資料] 窗格拖曳欄位,並將其放置到文字方塊中。如果您拖曳報表主體上任何其他位置的運算式,就會建立包含預留位置的新文字方塊。這個預留位置的值,將是對應至已卸除之欄位的欄位運算式。

  • 以滑鼠右鍵按一下文字方塊中的任何一處,然後選取 [建立預留位置]。您可以在 [預留位置屬性] 對話方塊中,指定運算式做為預留位置的値。如需詳細資訊,請參閱<預留位置屬性對話方塊、一般>。

  • 將任何簡單或複雜的運算式輸入至文字方塊。例如,如果您在文字方塊中輸入 Name: [Name],[Name] 文字將會顯示為代表運算式 =Fields!Name.Value 的預留位置。如需有關運算式所支援之顯示文字類型的詳細資訊,請參閱<了解簡單和複雜運算式 (Reporting Services)>。

  • 以等號 (=) 開始,在空白的文字方塊中輸入運算式。當您將焦點從文字方塊移出時,所產生的運算式會轉換成您可以編輯的預留位置。如果文字方塊不是空白的,或者文字方塊中的等號是插入第一個字元以外的位置,則系統會將等號視為字串常值而不會建立預留位置。如需有關定義簡單和複雜運算式的詳細資訊,請參閱<使用運算式 (Reporting Services)>。

在文字方塊中格式化預留位置和靜態文字

您可以使用 [預留位置屬性] 對話方塊來格式化預留位置。您只能格式化整個預留位置,而不能格式化預留位置的區段。如果想要查看基礎運算式,可以將指標暫停在預留位置上。您可以藉由按兩下預留位置,或以滑鼠右鍵按一下預留位置然後選取 [預留位置屬性],來變更基礎運算式。也可以在 [預留位置屬性] 對話方塊,使用 [一般] 中的 [標籤] 屬性來指定 UI 標籤。這將是在設計階段為預留位置所顯示的文字。

與預留位置文字不同的是,您可以在文字方塊中分開對齊個別文字、在單一的文字方塊內使用多個段落,並為任何文字子集定義其他行為。

您可以在單一文字方塊內的任何文字子集上定義顏色、字型、動作和其他行為,以針對報表中的文字建立合併列印或範本。也可以在單一文字方塊內使用多個段落。例如,如果您擁有兩個不同的文字段落,就可以在文字方塊中按 ENTER 鍵來區隔段落。也可以針對任何個別的文字字串設定對齊値。您也可以針對文字方塊中的個別文字定義動作。如果您想要針對文字方塊內所含的文字字串加入超連結,這個功能可能很有用。

[!附註]

在文字方塊上定義的動作,比針對文字方塊中的個別文字所定義的動作,擁有更高的優先權。

如需有關混合資訊的詳細資訊,請參閱<如何:格式化文字方塊中的文字>。

在文字方塊中加入 HTML

您可以使用文字方塊報表項目來將從資料集的欄位所擷取的 HTML 格式文字插入至報表。文字可以來自任何評估為正確格式之 HTML 的簡單或複雜運算式。格式化的文字可以轉譯為所有受支援的輸出格式,包括 PDF 在內。

[!附註]

當您匯入包含 HTML 標記的文字時,資料一定要先由文字方塊進行剖析。因為只支援一部分的 HTML 標記,所以顯示在轉譯報表中的 HTML 可能會與原始的 HTML 不同。

下列是在定義為預留位置文字時,會轉譯為 HTML 的標記完整清單:

  • 超連結:<A href>

  • 字型:<FONT>

  • 標頭、樣式和區塊元素:<H{n}>, <DIV>, <SPAN>,<P>, <DIV>, <LI>, <HN>

  • 文字格式:<B>, <I>, <U>, <S>

  • 清單處理:<OL>, <UL>, <LI>

所以其他的 HTML 標記都會在處理報表時遭到忽略。如果預留位置文字中的運算式所代表的 HTML 沒有採用正確格式,則預留位置會轉譯為純文字。所有 HTML 標記都不區分大小寫。

如果文字方塊中的文字只包含一個文字區塊,則預留位置中任何定義區塊元素的 HTML 都會正確轉譯。不過,如果文字方塊具有多個文字區塊,則 HTML 標記會遭到忽略,而文字的結構會由文字區塊定義。

如果針對文字定義了一個以上的標記,而 Reporting Services 在 HTML 和現有的報表條件約束之間偵測到衝突,則只會將最內層的 HTML 標記視為 HTML。

如需詳細資訊,請參閱<如何:將 HTML 加入至報表>。

階層式樣式表屬性的限制

在使用階層式樣式表 (CSS) 屬性時,只會定義基本的標記集合。下列是受支援的屬性清單:

  • text-align, text-indent

  • font-family, font-size

  • color

  • padding, padding-bottom, padding-top, padding-right, padding-left

  • font-weight

以下是使用 CSS 的一些考量:

  • 格式不正確的 CSS 値會像格式不正確的 HTML 一樣遭到忽略。

  • 同一標記中同時存在屬性和 CSS 樣式屬性時,CSS 屬性擁有較高的優先權。例如,如果文字是 <p style="text-align: right" align="left">,則只會套用 text-align 屬性。

  • 對於屬性和 CSS 樣式來說,如果某屬性指定了一次以上,則只會套用該屬性的最後一個執行個體。例如,如果文字是 <p align="left" align="right">,則會靠右對齊文字。

使用一般對齊水平文字

[文字方塊屬性] 對話方塊的 [對齊] 中,您可以指定文字應該如何水平對齊。如果沒有指定對齊値,則對齊的預設值為 [預設]。這代表文字會根據預留位置值的欄位類型來對齊。如果您指定的運算式會評估為非字串值,則文字會靠右對齊。如果運算式會評估為字串值,則文字會靠左對齊。