格式化文字和匯入 HTML (報表產生器 2.0)
文字方塊可以是資料區域內包含文字的報表項目或個別資料格、導出欄位、資料庫中欄位的指標,或是所有這三個項目的結合。 您可以混合字型和色彩、加入粗體和斜體樣式,以及使用對齊和首行縮排等段落樣式。 您可以格式化整個文字方塊,也可以格式化文字方塊內的特定文字、數字、運算式或欄位。
字型、大小、色彩和效果全部都對報表的可讀性有所貢獻。 您可以將字型、字型樣式、字型大小和底線線效果套用至文字方塊或資料區域。 依預設,使用的報表字型為 Arial,10 點和黑色。 您可以使用 [文字方塊屬性] 對話方塊來指定在轉譯報表時顯示文字的方式。
在文字方塊內定義簡單或複雜運算式時,所產生的運算式 UI 表示法稱為「預留位置」(Placeholder)。 您可以在單一文字方塊內任何數目的預留位置或文字區段上,定義色彩、字型、動作和其他行為。
在文字方塊中建立預留位置文字
預留位置的值永遠是簡單或複雜運算式。 您可以使用下列其中一個方法建立運算式,將預留位置加入至文字方塊:
從 [報表資料] 窗格拖曳欄位,並將其放置到文字方塊中。 如果您拖曳報表主體上任何其他位置的運算式,就會建立包含預留位置的新文字方塊。 這個預留位置的值,將是對應至已卸除之欄位的欄位運算式。
以滑鼠右鍵按一下文字方塊中的任何一處,然後選取 [插入預留位置]。 您可以在 [預留位置屬性] 對話方塊中,指定運算式做為預留位置的值。 如需詳細資訊,請參閱<預留位置屬性對話方塊、一般 (報表產生器 2.0)>。
將任何簡單或複雜的運算式輸入至文字方塊。 例如,如果您在文字方塊中輸入 Name: [Name],[Name] 文字將會顯示為代表運算式 =Fields!Name.Value 的預留位置。 如需有關運算式所支援之顯示文字類型的詳細資訊,請參閱<了解簡單和複雜運算式 (報表產生器 2.0)>。
以等號 (=) 開始,在空白的文字方塊中輸入運算式。 當您將焦點從文字方塊移出時,所產生的運算式會轉換成您可以編輯的預留位置。 如果文字方塊不是空白的,或者文字方塊中的等號是插入第一個字元以外的位置,則系統會將等號視為字串常值而不會建立預留位置。 如需有關定義簡單和複雜運算式的詳細資訊,請參閱<使用運算式 (報表產生器 2.0)>。
在文字方塊中格式化預留位置和靜態文字
您可以使用 [預留位置屬性] 對話方塊來格式化預留位置。 您只能格式化整個預留位置,而不能格式化預留位置的區段。 如果想要查看基礎運算式,可以將指標暫停在預留位置上。 您可以藉由按兩下預留位置,或以滑鼠右鍵按一下預留位置然後選取 [預留位置屬性],來變更基礎運算式。 也可以在 [預留位置屬性] 對話方塊,使用 [一般] 中的 [標籤] 屬性來指定 UI 標籤。 這將是在設計階段為預留位置所顯示的文字。
與預留位置文字不同的是,您可以在文字方塊中分開對齊個別文字、在單一的文字方塊內使用多個段落,並為任何文字子集定義其他行為。
您可以在單一文字方塊內的任何文字子集上定義顏色、字型、動作和其他行為,以針對報表中的文字建立合併列印或範本。 也可以在單一文字方塊內使用多個段落。 例如,如果您擁有兩個不同的文字段落,就可以在文字方塊中按 ENTER 鍵來區隔段落。 也可以針對任何個別的文字字串設定對齊值。 您也可以針對文字方塊中的個別文字定義動作。 如果您想要針對文字方塊內所含的文字字串加入超連結,這個功能可能很有用。
[!附註]
在文字方塊上定義的動作,比針對文字方塊中的個別文字所定義的動作,擁有更高的優先權。
如需有關混合資訊的詳細資訊,請參閱<如何:格式化文字方塊中的文字 (報表產生器 2.0)>。
在文字方塊中加入 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 加入至報表 (報表產生器 2.0)>。
階層式樣式表屬性的限制
在使用階層式樣式表 (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">,則會靠右對齊文字。
使用一般對齊水平文字
在 [文字方塊屬性] 對話方塊的 [對齊] 中,您可以指定文字應該如何水平對齊。 如果沒有指定對齊值,則對齊的預設值為 [預設]。 這代表文字會根據預留位置值的欄位類型來對齊。 如果您指定的運算式會評估為非字串值,則文字會靠右對齊。 如果運算式會評估為字串值,則文字會靠左對齊。