1. 概述
1.1 應用場景
在 Excel 導入不定行報表,進行行式報表填報時,默認根據标題匹配,即只要設計器報表中的标題與 Excel 中标題相同即可被導入,與列的位置無關。
1.2 功能介紹
1)導入的 Excel 數據将根據列标題(縱向擴展,橫向擴展則是行标題)自動匹配。
2)标題不相同時,顯示爲空白,即必須保持标題一緻。
3)根據标題匹配與位置無關,列的位置可以互換。
4)在進行不定行導入時首先進行标題匹配,标題匹配不成功再 根據位置匹配。
2. 示例
2.1 準備模板
打開模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject|\ExcelImport\導入Excel根據标題匹配.cpt
将「産品名稱」和「類别」列名稱修改爲「産品」和「類别 ID」,與 Excel 不一樣,同時更換「類别」和「供應商」列的位置。爲 A2 ~J2 單元格添加 「文本控件」 ,并且設置單元格擴展爲「縱向擴展」,并将如下圖所示:
注:如果不添加控件,導入後只能查看數據,無法進行填報操作。但是這裏是導入不定行,不論是否根據控件導入,必須保證左父格是可擴展的。
2.2 設置填報屬性
點擊「模板>報表填報屬性」,選擇「智能提交」類型,智能添加 FRDemo 中産品表的對應字段,并智能添加對應的單元格,步驟如下圖所示:
2.3 效果預覽
1)保存報表,點擊「填報預覽」,單擊工具欄上的excelimport.xls ,修改了列标題名稱的數據無法導入。效果如下圖所示:
按鈕,選擇下載的 Excel 數據文件2)當标題名稱一緻時,效果如下圖所示:
3. 模板下載
已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\ExcelImport\導入Excel根據标題匹配.cpt。
點擊下載模板:導入Excel根據标題匹配.cpt
點擊下載 Excel 數據文件:excelimport.xls
4. 注意事項
4.1 不根據标題匹配
4.1.1 應用場景
在 Excel 導入不定行,進行行式報表填報時,默認先「根據标題匹配」,若匹配标題數小於 2,則執行 根據位置匹配 。然而在導入數據時,部分用戶希望,無論匹配标題數爲多少,數據均「根據位置匹配」。
4.1.2 實現方法
下載安裝 Excel導入邏輯設置 插件,安裝後點擊「模板> Excel 導入配置」,選擇「僅單元格位置匹配」即可。詳情可參見 Excel 導入邏輯設置插件。
4.2 标題相同列只匹配前一列
若設計器設計的表格中有兩列标題相同,而 Excel 文件中同一标題的數據只有一列,如下圖所示:
導入 Excel 時,只匹配前一列數據,後面的列數據爲空,如下圖所示:
如果希望兩列均匹配只能在 Excel 中複制一列,與複制列位置無關。但标題相同列只适用於前端展現,填報入庫只能有一個字段。