解決導出Excel後0丟失的問題

需求背景
今天我們來看一個比較有價值的需求,這個需求中提到的一系列問題我們可能也會遇到並感到難以解決。好,閒話少敘,看一下具體需求:

1、 報表中的0.XXX導出Excel後0丟失,變成了.XXX,如0.5變成.5;

2、 報表數據集中數據有存在空和0的數據,在報表顯示的時候要求空值不顯示,0值顯示0,當前都顯示爲0;

3、 橫向和縱向分組後,要求沒有數據記錄的單元格顯示爲空

4、 整數只顯示整數,小數保留一位小數

問題分析
1、 由於導出的Excel單元格類型爲“自定義”,該格式下的首0會自動截去,這是正常現象,當然我們可以通過設置顯示格式來解決,稍後我們看具體實現;

2、 目前報表分組後對於空值和0值的顯示結果是相同的,即都爲0,這點我們可以通過表達式判斷來解決,稍後看具體實現;

3、 對於橫向縱向分組交叉後在數據集中沒有記錄的單元格,要顯示爲空,我們也可以通過表達式判斷來解決。

接下來,我們看一下具體實現。

實現步驟
我們來看一下數據的情況,涵蓋比較全面:

我們在來看一下按照正常做法寫表達式後的顯示結果:

接下來我們看一下表達式和顯示格式是如何設置的:

B1:=ds1.group(day)

A2:=ds1.group(name)

B2:=if(ds1.day==B1 && ds1.name==A2,if(ds1.num==null,”",ds1.sum(num)),”")

B2顯示格式表達式:if(isnumber(str(value())),if(value()==int(value()),”#0″,”#0.0″),”#”)

這樣設置後的顯示效果如下:

導出的Excel效果如下:

我們可以看到,完全和頁面上顯示的相同。至此我們已經實現了開篇中提到的所有需求。

文章來至:http://www.runqian.com.cn/archives/4601.html/
發佈了31 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章