當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

大數據量導出Excel

1. 描述

對於大數據量導出報表時,可能會出現如下兩種情況:一,導出成功,數據會顯示在多個 sheet 中;二,導出失敗,導出的 Excel 内容無效。那麽爲什麽會出現如上問題呢。

2. 沒有啓用行式引擎的大數據量報表導出

在沒有啓用行式引擎的情況下,會出現兩種情況:服務器可以承受的情況下導出成功,服務器無法承受的情況下導出失敗,下面我們分别看下其和結果:

2.1 服務器承受範圍内

可以承受的範圍是:數據量大,超過了 Excel 的最大行數但不是非常非常大,比如10萬條,且數據不複雜,在内存足夠且網絡沒有斷的情況下可以正常導出。

導出的結果

超出 Excel 最大行或列的數據會在下一個 sheet 中顯示。

注:Excel 的行數和列數是有限制的,如 Excel2003 其行數最大限制爲 65536 行,列數最大限制爲 256 列。

2.2 服務器無法承受

無法承受的範圍是:數據量大,且非常大,比如幾十萬幾百萬甚至更多,可能因爲内存等的限制而出現導出失敗。

導出的結果

打開導出失敗的 Excel,其内容是無效的。

2.3 兩種導出結果的原因

其主要在於數據量與數據複雜程度(列數)究竟有多大,在沒有用行引擎的情況下就會有一個臨界點,低於臨界點的時候可以導出成功即導出的内容有多個 sheet,否則導出失敗,内容無效。

3. 啓用行式引擎的大數據量報表導出

對於大數據量報表,通常使用 行式引擎 來展現,這種情況下,導出 Excel 始終成功。

3.1 導出的結果

啓用行式引擎的大數據量報表導出Excel時,是将其分成多個.xls文件,且是以一個壓縮包文件的格式傳輸到客戶端的。

3.2 示例

情形 1:大數據量報表如 100w 行數據,設置行式引擎,每頁顯示 30 行

導出結果爲:共 41 個 Excel,前 40 個 Excel 每個 24990 行,最後一個 Excel 爲 400 行,41 個 Excel 壓縮爲 zip 包傳到客戶端下載。

情形 2:大數據量報表如 100w 行數據,設置行式引擎,每頁顯示 50 行

導出結果爲:共 40 個 Excel,每個 Excel 包含 25000 條數據,40 個 Excel 壓縮爲 zip 包傳到客戶端下載。


附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

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

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

不再提示

9s後關閉

反饋已提交

網絡繁忙