解決潤乾報表匯出Excel後0丟失的問題
阿新 • • 發佈:2019-02-05
需求背景
今天我們來看一個比較有價值的需求,這個需求中提到的一系列問題我們可能也會遇到並感到難以解決。好,閒話少敘,看一下具體需求:
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效果如下: