1. 概述
無論是設計器端匯出 Excel,還是瀏覽器端匯出 Excel,都可以選擇原樣匯出、分頁匯出和分頁分 sheet三種匯出效果。
本文將簡單介紹這三種匯出方式的差別。
注:不支援行動端。
2. Excel 匯出方式
以%FR_Home%\webapps\webroot\WEB-INF\reportlets\demo\basic\標題重複頁內合計條件預警.cpt報表為例,分別看下三種匯出的效果。
2.1 分頁匯出
分頁匯出時,如果報表範本是分頁的,這裏會按照分頁的結果形式匯出,重複的標題等也會重複。
2.2 原樣匯出
原樣匯出時,即使報表範本是分頁的這裏也不會分頁,會連續匯出,如果有重複標題的,標題也只顯示一次。
2.3 分頁分 sheet 匯出
分頁分 sheet 匯出時報表結果的每一頁為一個 sheet 儲存在 Excel 檔案中。
注1:行式引擎開啟後:不支援分頁分 sheet 匯出 Excel,原樣匯出時會生成壓縮包。
注2:Excel 中 sheet 的名稱長度不宜太長,如果需要匯出為 Excel,應儘量簡化 sheet 名稱。
注3:分頁分 sheet 匯出的 Excel 檔案中,sheet 名稱會以頁數命名。如第一頁對應匯出 Excel 檔案中的 sheet 名稱就是 page1 ,第二頁對應匯出 Excel 檔案中的 sheet 名稱就是 page2…… 以此類推。
3. 工具欄設定
使用者可根據需要,自訂報表工具欄,新增需要的匯出方式按鈕。具體操作可參考分頁預覽設定 。
4. 注意事項
4.1 匯出內容與預覽不一致
問題描述
匯出 Excel 後列印預覽的頁首位置,與範本預覽列印匯出的頁首位置,完全不一致。
原因分析
範本頁面設定的上下邊距,與 Excel 頁面的上下邊距不一致。
解決方法
選擇「選單範本>頁面設定>頁面」,設定「上下頁邊距」為12.7公釐。如下圖所示:
4.2 匯出資料超出 15 位顯示為 0
問題描述:
1)儲存格資料超出15位時,匯出的 Excel 中,僅正常顯示前15位,其餘顯示為0,如下圖所示:
2)儲存格原值13096544898.674679,設定#,##0.00格式轉換後匯出excel,開啟excel雙擊B2儲存格值變成13096544898.6747,值被excel自動四捨五入,如下圖所示:
原因分析:
1)Excel自身的邏輯導致了此問題,僅可識別前 15 位數字,15 位後的將按 0 顯示。
2)Excel 超過 15 個數字長度的資料,會將超出部分轉變為 01. 比如 xxxx.abcdefgh => xxx.abcd01。
解決方案:
1)點選儲存格右鍵「編輯」
2)選擇「進階>自訂顯示」,輸入公式CONCATENATE($$$,"")
4.3 原樣匯出 Excel 列寬變小
問題描述
範本預覽後選擇原樣匯出 Excel ,列寬由 7px 變為 6px ,在 Excel 中點選列印,列印預覽效果正常,實際列印整體內容發生向左偏移。
原因分析
FineReport 和 Excel 是兩套行高列寬體系,之間的轉換需要乘一個係數。
解決方案
1)Excel 匯出係數說明
預設寬度係數為 34.742,高度係數為 20.1。這個係數的條件是:
a4 紙張
頁邊距(上6.85mm、左19.05mm、下6.85mm、右19.05mm)
宋體(simsum)
如果範本用的不是這個預設設定的話,又想匯出到特定的 Excel 紙張內時,若需要匯出效果跟預覽一致,就需要調整這個自訂係數。
2)方法
在 FineDB 的 fine_conf_entity 表中新增(或修改)兩個欄位:
注:修改或新增欄位方法請參見:FINE_CONF_ENTITY視覺化配置
CustomConfig.excelAdjustHeight
CustomConfig.excelAdjustWidth
如果匯出到 Excel 內容的行高/列寬小了,那就把對應的係數調大;如果匯出到 Excel 內容的行高/列寬大了,那就把對應的係數調小。
4.4 匯出 Excel 字體變小
原因分析
當設計器中將儲存格內容設定為自動換行,且字體字號大於 14 時,匯出 Excel 時,字體字號會乘 0.95 後再匯出。
解決方案
調整字體字號小於 14 或 修改正文控制。