轉譯延伸模組概觀
轉譯延伸模組是報表伺服器的元件或模組,可將報表資料與配置資訊轉換成裝置特定的格式。 SQL Server Reporting Services 包含數個轉譯延伸模組:HTML、Excel、Word、PowerPoint、CSV 或文字、XML、影像、數據摘要和 PDF。 您可以建立其他轉譯延伸模組,以其他格式產生報表。
注意
若要決定可以使用哪些轉譯延伸模組,您可以檢視在 RSReportServer.config 檔案中已安裝的延伸模組清單。
下表說明 Reporting Services 隨附的轉譯延伸模組。
擴充功能名稱 | 描述 |
---|---|
WORDOPENXML | 將 Microsoft Word 中的報表轉譯為 DOCX 檔案。 在報表工具列的 [匯出] 下拉式清單中,格式會顯示為 Word 。 |
WORD | 將 Microsoft Word 中的報表轉譯為 DOC 檔案。 格式不會顯示在報表工具列的 [匯出] 下拉式清單中,因為它包含回溯相容性。 |
EXCELOPENXML | 將 Microsoft Excel 中的報表轉譯為 XLSX 檔案。 在報表工具列的 [匯出] 下拉式清單中,格式會顯示為 Excel 。 |
EXCEL | 將 Microsoft Excel 中的報表轉譯為 XLS 檔案。 格式不會顯示在報表工具列的 [匯出] 下拉式清單中,因為它包含回溯相容性。 |
PPTX | 將 PowerPoint 中的報表轉譯為 PPTX 檔案。 格式會顯示為 報表工具列之 [導出] 下拉式清單中的PowerPoint 。 |
在 PDF 中轉譯報表。 | |
IMAGE | 以頁面導向格式轉譯報表。 在報表工具列的 [匯出] 下拉式清單中,格式會顯示為 TIFF 檔案 。 |
MHTML (HTML 轉譯延伸模組的一部分) | 以 MHTML 格式轉譯報表。 報表會在瀏覽器中開啟。 在報表工具列的 [匯出] 下拉式清單中,格式會顯示為 MHTML (Web 封存 )。 |
CSV | 以逗號分隔格式來轉譯報表。 在與 CSV 檔案格式相關聯的檢視工具中開啟此報表。 在報表工具列的 [匯出] 下拉式清單中,格式會顯示為 CSV(逗號分隔 )。 |
XML | 以 XML 格式轉譯報表。 報表會在瀏覽器中開啟。 套用至此 XML 輸出的額外轉換可能是避免開發您自己的轉譯延伸模組的符合成本效益的方式。 格式會顯示為 XML 檔案,其中包含報表工具列的 [匯出] 下拉式清單中的報表數據 。 |
ATOM | 以數據摘要格式呈現報表做為 ATOMSVC 檔案。 格式會顯示為 報表工具列之 [匯出] 下拉式清單中的 [數據摘要 ]。 |
HTML4.0 (HTML 轉譯延伸模組的一部分) | 如果瀏覽器不支援 HTML5,則會使用 HTML4.0。 |
HTML5 (HTML 轉譯延伸模組的一部分) | HTML5 是用來一開始在瀏覽器中轉譯報表的格式。 如果您的瀏覽器支援 HTML5,這就是所使用的格式。 否則會使用 HTML 4.0。 |
RPL | RPL 是報表伺服器所使用的中繼格式,也是預設轉譯延伸模組。 |
NULL | 不會將報表轉譯為特定格式。 這個轉譯延伸模組對於將報表放在快取中特別有用。 Null 轉譯應該與排程的執行或傳遞搭配使用。 |
如需建議格式及其使用方式的詳細資訊,請參閱匯出報表(報表產生器 和 SSRS)。
由 Microsoft 實作且隨附在 Reporting Services 中的每個轉譯延伸模組會使用一組共同的介面。 這組常見的介面可確保每個延伸模組都實作類似的功能,並減少報表伺服器核心中轉譯程式代碼的複雜度。
轉譯物件模型
當處理報表時,結果是公開的物件模型,又稱為轉譯物件模型 (ROM)。 轉譯物件模型是類別的集合,定義了已經處理的報表之內容、配置和資料。 ROM 可供開發人員設計、開發和部署 Reporting Services 的自訂轉譯延伸模組。 當報表伺服器處理報表的 XML 定義以及使用者定義的報表資料時,會產生 ROM。 當處理完成時,轉譯延伸模組會使用公用物件模組,來定義報表的輸出。 ROM 的可用公用類別是定義在 Microsoft.ReportingServices.OnDemandReportRendering 命名空間中。
撰寫自定義轉譯延伸模組
在您決定建立自訂轉譯延伸模組之前,應該先評估更簡單的替代方案。 您可以:
透過為現有的轉譯延伸模組指定裝置資訊設定,以自訂轉譯的輸出。
透過將 XSL 轉換 (XSLT) 與 XML 轉譯格式的輸出結合,加入自訂格式與簡報功能。
撰寫自訂轉譯延伸模組是很困難的。 轉譯延伸模組通常必須支援所有可能的報表元素結合,並需要您實作數百個類別、介面和屬性。 如果您必須以未包含在 Reporting Services 的格式轉譯報表,並決定撰寫自己的轉譯延伸模組 Managed 程式代碼實作,轉譯延伸模組程式代碼必須實 作報表伺服器所需的 Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension 介面。