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

Excel導入報錯

1. 概述

1.1 問題描述

同一張模板,通過 原樣導出 至 Excel 中,再刷新模板導入該 Excel 的時候,發現導入錯位的問題,如下圖所示:

222

1.2 解決思路

這是因爲 FineReport 新增了一個雙向導入的功能,即 Excel 雙向導入,其處理邏輯發生了變化,并對模板中合并的單元格進行了處理,導緻導入錯亂的情況出現,那麽此時只需要在模板中導出隐藏行列,并使在導入 Excel 的時候,在配置文件中關閉雙向導入即可。(雙向導入默認關閉的,如果開啓了需要關閉)

2. 操作步驟

2.1 模板準備

如上效果圖所示,準備如下圖所示的模板:

222

參數面板中 有2 個參數:starttime 和 endtime,其中開始日期的默認值爲:DATEDELTA(today(), if(tointeger(WEEKDAY($Date)) == 0, -6, 1 - WEEKDAY($Date))),結束日期的默認值爲:DATEDELTA(today(), if(tointeger(WEEKDAY($Date)) == 0, 0, 7 - WEEKDAY($Date)))

DATEDELTA() 等函數的具體含義請查看 日期常用處理函數

合并 B3 和 C3 單元格,其值爲:=range(date(year($starttime),month($starttime),day($starttime)),date(year($endtime),month($endtime),day($endtime))),合并D3和E3單元格,其值爲=WEEKDAY(B3),合并 F3 和 G3 單元格,設置其 控件類型 爲 文本控件

注:模板中要出現合并的單元格。

2.2 導出 Excel

保存模板,點擊 填報預覽,在web端打開該模板,并輸入值班人字段值,如下圖,輸入完成之後,點擊工具欄上的輸出>Excel>原樣導出,如下圖:

222

此時,就會導出如上圖所示的 Excel。

2.3 導入 Excel

回到設計器界面,根據 導入行式報表 中的操作步驟,爲該模板的工具欄添加導入 Excel 按鈕,添加完成之後,重新填報預覽該模板,點擊導入 Excel,選擇剛剛導出的 Excel 文件,即可看到如下圖所示效果,位置錯亂:

2.4 導出隐藏行列

回到設計器,點擊模板導出屬性,勾選導出隐藏行導出隐藏列,如下圖:

222

2.5 結果查看

此時再重新導出 Excel,導入 Excel,就可以看到位置不會發生錯亂了。

3. 注意事項

3.1 導入後日期格式錯誤

1)問題描述

導入 Excel 後,日期變成一串數字。

2)原因分析

目前不支持導入 Excel 的自定義格式,會變成常規的時間戳。

3)解決方案

修改成标準日期格式即可。

3.2 标題無法導入

1)問題描述

非雙向導入的場景下,設置了雙向導入邏輯,導入 Excel 時,發現有标題的内容沒有導入,如下圖所示:

1587029208171851.png

2)原因分析

雙向導入時不會對不定行上方的格子賦值。

3)解決方案

非雙向導入場景下,不要設置雙向導入邏輯。

附件列表


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

文 檔回 饋

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

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

不再提示

9s後關閉

反饋已提交

網絡繁忙