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

類excel功能絕對引用單元格下拉拖動計算

1. 描述

大家都知道 Excel 功能非常強大,但是 FineReport 中有些 Excel 功能是無法實現的;比如一計算公式:E3*F1,我想要實現 E3 列單元格遞增而 F1 單元格不變動 的計算時,Excel 中用單元格絕對引用(=E3*$F$1)很容易實現的,但是 FineReport 直接下拉拖動是無法實現的。如果直接拖拽,單元格會随着遞增,如圖所示:

222

正确的效果:

222


2. 思路

這個問題本質上是公式自動擴展問題。其實FR只是支持 Excel 的常用公式,Excel 公式非常多,并不是完全支持的。 既然這裏=E3*F1 進行拖拽後,會自動增長行列序号。 那麽讓F1是個計算的結果而不是個單元格就可以了。


3. 解決方案

利用 eval 公式只返回計算結果而不是單元格就行;我們可以在 G3 單元格輸入公式:= E3 *eval("F" + "1")

222

在公式執行前,+ 這個運算符不執行,所以公式裏不存在 F1 單元格,所以縱向拖拽這個公式即可。

注:由於這裏計算公式裏F1是通過 eval 的計算結果,假設這裏是填報,比如F1單元格的值是個文本框,值修改之後, G3/G4/G5/G6 的計算結果不會動态聯動改變的


4. 預覽效果

保存後,點擊分頁預覽,即可看到如上描述中的效果。


附件列表


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

文 檔回 饋

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

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

不再提示

10s後關閉

反饋已提交

網絡繁忙