針對 CSV 輸出的設計
逗號分隔值 (CSV) 轉譯延伸模組,會將報表轉譯成逗號分隔的純文字檔案,沒有任何格式。它使用字串字元分隔符號來分隔欄位和資料列,可將此字串分隔符號設定為非逗號字元。此結果檔案可以使用試算表程式 (如,Microsoft Excel) 開啟,或用來作為其他程式的匯入格式。匯出的報表會變成 .csv 檔案,並傳回 text/plain 的 MIME 類型。檔案的 MIME 版本為 1.0。
CSV 轉譯
使用預設值轉譯後,CSV 報表具有下列特性:
- 第一筆記錄包含此報表的所有欄位標頭。
- 所有資料列具有相同的資料行數目。
- 預設的欄位分隔符號字串是逗號 (,)。
- 記錄分隔符號字串是歸位字元和換行字元 (<cr><lf>)。
- 文字限定詞字串是引號 (")。
- 如果文字包含內嵌的分隔符號字串或限定詞字串,則文字限定詞是放置於該文字周圍,且內嵌的限定詞字串是重複的。
- 會忽略格式和配置。
若要轉譯報表,CSV 轉譯延伸模組會透過報表處理器所產生的報表物件模型重複。下列元素會在處理過程中忽略:
- PageHeader
- PageFooter
- 自訂
- 折線圖
- 影像
- ActiveXControl
剩餘的報表項目會先由上至下,再由左至右排序。接著,每個項目會轉譯成資料行。如果報表有巢狀資料項目 (例如,清單或資料表),則父項目會在每一筆記錄中重複。
下表列出轉譯成 CSV 時,每個項目所需的考量。
項目 | 轉譯行為 |
---|---|
文字方塊 |
轉譯文字方塊的內容。資料會根據項目的 Format 屬性格式化。 |
資料表 |
藉由展開資料表,並為每個資料列與資料行以最低層級的詳細資料建立資料列與資料行,來進行轉譯。小計資料列和資料行沒有資料行或資料列標題。不支援鑽研報表。 |
矩陣 |
藉由展開矩陣,並為每個資料列與資料行以最低層級的詳細資料建立資料列與資料行,來進行轉譯。小計資料列和資料行沒有資料行或資料列標題。 |
清單 |
轉譯每個詳細資料列或清單中執行個體的記錄。 |
矩形 |
將其內容轉譯成巢狀項目。父項目會為每個內容的執行個體重複。 |
子報表 |
將其內容轉譯成巢狀項目。父項目會為每個內容的執行個體重複。 |
圖表 |
轉譯一組資料值的資料列,與其他組資料值的資料行。 |
CSV 轉譯延伸模組,針對一些可設定的裝置資訊設定使用了預設值,例如,要使用哪些字元作為欄位分隔符號、記錄分隔符號,以及限定詞。這些裝置資訊設定可以透過自訂應用程式存取和變更,您也可以使用這些裝置資訊設定來控制資料的轉譯、預設分隔符號,以及分頁符號。欄位分隔符號、記錄分隔符號,以及文字限定詞可以使用 FieldDelimiter、RecordDelimiter 及 Qualifier 裝置資訊設定變更。
若要控制分頁符號,SuppressLineBreaks 設定是布林,指定在轉譯資料時是否移除分行符號。SuppressLineBreaks 是 true 時,則會以單一空格取代分行符號和歸位字元。Extension 設定可以讓您指定文字檔使用何種副檔名,而 Encoding 設定可以讓您將編碼從預設的 Unicode 變更為 ASCII、UTF-7 或 UTF-8。最後,NoHeader 設定會指出轉譯時是否應略過標頭資料列。如需裝置資訊設定的詳細資訊,請參閱<Reporting Services Device Information Settings>。
![]() |
---|
在即將推出的 Reporting Services 版本中,CSV 裡的矩陣資料區域的結構可能會變更。 |
請參閱
概念
其他資源
Reporting Services Programming