反饋已提交

網絡繁忙

大數據集匯出常見問題

1. 概述

本文介紹大數據集匯出的常見問題及解決方案,並梳理出了大數據集匯出常見問題的排查思路,方便使用者再遇到類似問題減少排查時間,減小排查難度。

大數據集匯出詳情請參見:JS實現大數據集導出Excel大數據集匯出Excel插件

1.1 不支援的功能

1.1.1 JS 實現大數據集匯出

1)JS 獲取不到 URL 中的參數:JS 匯出其實是針對範本或者資料,不預覽也能匯出,不依賴 session,URL 傳參數是在預覽程式中傳遞不是範本本身的屬性也不是伺服器的環境。

2)在 JS 的 URL 部分加上&_filename_=來指定匯出檔案名稱稱,匯出檔案名稱最後面會自動連接資料集名稱,不支援去掉連接的dsname 。

3)參數過多情況匯出報錯 414 。

4)獲取多選下拉樹元件時為空陣列,而不是空字串,將導致資料查詢參數為空查詢全部失敗。

5)不支援行動端。

1.1.2 大數據集匯出插件匯出

1)匯出的 Excel 是透過 SQL 語句直接從資料庫中獲取的資料,並非報表中的資料,因此報表中設定的資料格式等無法被匯出。

2)匯出不支援 CSV 格式。

3)大數據集匯出 Excel 欄位包含"/"時按鈕配置無法儲存。

4)決策系統記錄的匯出次數不包括大數據集匯出 Excel 插件的匯出次數。

5)不支援按鈕同事設定多個事件。

6)不支援篩選匯出表欄位名稱包含符號"{}"。

7)不支援 Spider 資料集。

8)不支援行動端。

1.2 排查思路

1.2.1 通用限制

1)超過 5s 顯示進度條。

2)資料格式變化,100.0 匯出後顯示為 100 。

3)大數據集匯出 Excel 每 100W 行會到下一個 Sheet 。

4)匯出的資料量不超過 1000W 行 * 20 列,資料量超大可能會導致僅匯出部分資料。

1.2.2 JS 實現大數據集匯出

JS 實現大數據集匯出遇到問題時的常見排查思路如下所示:

1.2.3 大數據集匯出插件匯出

使用大數據集匯出插件匯出時,遇到問題時的常見排查思路如下所示:

2. JS 實現大數據集匯出 Excel 問題

2.1 大數據集匯出 Excel 結果不對

問題描述

JS 實現的大數據集匯出,使用者使用下拉樹元件,當選擇參數的時候才可以正常匯出資料,如果不選擇內容,匯出的就是空的,但是不選擇內容的時候,點選查詢是能夠查出資料的。

原因分析

JS 大數據集匯出,多選下拉樹元件值不選時,獲取到為空陣列"[]",而不是空字串"",導致資料集查詢那邊參數為空查詢全部失敗。

解決方案

手動在 JS 中給參數賦空值。

2.2 大數據集匯出 Excel 每 100W 行會分頁

大數據集匯出 Excel 每 100W 行會到下一個 sheet 。

2.3 開啓行式引擎匯出 Excel 行高過小

問題描述

行式引擎開啓後,大數據量 Excel 匯出行高過小,用流式匯出插件也是一樣的情況。

解決方案

如果是 8.0 和 9.0 遇到了這種情況,就調大行高,酌情調整,能夠有效的改善這個情況。如果是 10.0 遇到了這種情況,可以透過大數據集匯出/新引擎解決。

2.4 自訂按鈕匯出大數據集只匯出部分

問題描述

匯出 1300w 行 26 列左右的資料,只匯出了部分。

原因分析

JS實現大數據集導出Excel 建議匯出的資料量不超過「1000W 行 * 20 列」,資料量超大可能會導致僅匯出部分資料。

2.5 大數據集匯出API,參數是否支援 JSON 陣列格式

問題描述

大數據集匯出針對一個參數對應多個值的情況,字串連接是否支援 JSON 陣列格式?大數據集匯出時,某個參數需要傳遞多值,測試用 JSON 陣列格式放到API參數中,但是匯出為空,控制檯顯示匯出成功語句,但是匯出的 Excel 沒有內容。

連接字串用了以下幾種形式:

{val:[\"華北\"]}              ==匯出為空

{val:[\"華北\",\"華東\"]}==匯出為空

{val:\"華北\"}                ==匯出為華北

{val:['華北','華東']}         ==匯出為空

{val:[華東','華北]}           ==匯出提示報錯:Unexpected End: at character 15 of {val:[華東','華北]}
{val:\"華北\",val:\"華東\"};==匯出為華東

原因分析

參數連接的方式錯了

解決方案

華北','華東 需要被""包圍起來,但是""需要轉義防止被決議,所以寫成var paramStr = encodeURIComponent("{val:\"華北','華東\"}")
//資料集傳參

var colNames = encodeURIComponent("地區,銷售員,產品型別,產品,銷量")//指定匯出的資料列,匯出欄位按此順序排列,為空預設匯出所有

_g().directExportToExcel("ds5","匯出測試",paramStr,colNames)

2.6 order by 導致 Excel 匯出資料缺失

問題描述

資料集總資料量 13 萬,匯出 Excel 後只有 65535 條,將 SQL 中的 order by 註釋掉就能匯出全部。&format=excel匯出、excel按鈕匯出、大數據集匯出等方法均能復現。

原因分析

使用者資料庫的配置問題。

解決方案

將 order by 註釋,使用大數據集匯出。

3. 大數據匯出插件問題

3.1 大數據集匯出插件設定匯出欄位儲存不了

問題描述

大數據集匯出插件,如果欄位名有“/”符號,設定的匯出欄位名會無法儲存。

原因分析

目前不支援特殊字元,HTML 決議會有問題。

3.2 大數據集匯出插件,只匯出了欄位,沒有資料

問題描述

系統和設計器都升級 JAR(2021-11-30)後,原先沒有問題的範本,使用了大數據集匯出插件匯出的,在設計器本地目錄看沒有問題,但是設計器遠端連結伺服器,以及在伺服器平台掛載看都是匯出沒有資料只有欄位名稱。

解決方案

升級到 2021-12-15 及之後的 JAR 包解決。

3.3 大數據集匯出插件匯出新自適決策報表報錯:不支援此資料庫

問題描述

在使用新自適frm且使用大數據集匯出excel匯出時,資料集使用的是mysql5.7.23,會報錯“不支援此資料庫”,不使用新自適應報表時可以正常匯出。

解決方案

大數據集匯出插件更新升級至 V1.0.9 。

3.4 大數據集匯出插件的參數有底線時匯出為空

解決方案

更新插件至 V1.1.1 及之後。

3.5 資料集參數為名的元件匯出時空白

解決方案

更新插件至 V1.1.5 及之後。

3.6 大數據集匯出插件的參數配置,影響資料集的參數預設值

解決方案

更新插件至 V1.1.6 及之後。

3.7 大數據集匯出API獲取不到url中的參數

原因分析

2020.04.26以及以後的jar不支援獲取url的參數。

解決方案

範本 SQL 參數資料集里加上參數,如下圖所示:

3.8 大數據集匯出連結逾時

原因分析

使用者資料量較大,匯出時間較久,超出了容器設定的逾時時間。

解決方案

調整容器的逾時時間即可。

例如 Tomcat 容器可以修改%Tomcat_HOME%\conf 目錄下的 server.xml 檔案,適當調整 connectionTimeout 參數值,如下圖所示:

Tomcat 中預設連結逾時時間是20秒,一般最好設定為60秒,進而避免後臺程式處理時間長導致連結斷開,進行以下修改即可: connectionTimeout="60000"

4. 其他問題

4.1 大數據集匯出不支援 spider 資料集

問題描述

使用者使用的 spider 資料集,明細表,420w 左右的資料量,把資料列拖到儲存格,設定了邊框就沒有其他任何特別的設定了。 使用者想把範本匯出成 EXCEL,在資料集預覽是有資料的,用普通的 EXCEL 匯出匯出不了,想問大數據集匯出可以嗎?

原因分析

大數據集匯出目前只支援關係型資料庫,不支援 spider 資料集或者程式資料集等。

解決方案

建議使用關係型資料庫的普通資料集。

4.2 大數據集匯出的進度條

問題描述

按鈕寫 JS 進行大數據集匯出,如果資料量比較大,有一段時間頁面看起來沒有反應。

原因分析

大數據集匯出是做了進度條的,但是預設在 5s 之後才會開始顯示。

4.3 HTTP 400 報錯

问题描述

1)使用者在 IE 瀏覽器環境下使用 FineReport 10.0 的大數據集匯出功能匯出資料集結果時出現 HTTP 400 報錯;

2)使用者在 IE 瀏覽器環境下點選郵件中排程管理報表位址後出現 HTTP 400 報錯。

原因分析

HTTP 400 報錯只在 IE 瀏覽器環境下發生,使用 Chrome 核心的瀏覽器可正常存取,經驗證 URL 中含有中文,並且複製之後會轉換為 UTF-8 的編碼。

解決方案

在 IE 瀏覽器裏,點選「設定>Internet選項>進階」,勾選「傳送非 Intranet URL 的 UTF-8 查詢字串」和「以 UTF-8 形式傳送 URL 路徑」缺一不可,如下圖所示:

附件列表


主題: 報表專題
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙