根据位置匹配

编辑
文档创建者:印然 (67260 )     浏览次数:4311次     编辑次数:11次     最近更新:jiangsr 于 2018-08-21     

目录:

1. 描述编辑

Excel导入行式报表根据位置匹配是指,Excel导入进来的时候需要导入数据的单元格从第几行第几列开始,那么Excel中数据就从第几行第几列开始,无关于标题名称,只跟位置有关系。
如下图,可以看到Excel中的列标题与FineReport模板的列标题完全不一致,但是位置却保持一致,FineReport模板中导入数据的单元格从B3开始,那么导入Excel中,从B3开始的数据就被导进来了:

注:行式报表根据位置匹配的前提是标题完全匹配不上,如果有2个或2个以上标题能匹配得上,那么就会使用根据标题匹配,但是如果通过配置文件设置了不执行根据标题匹配,那么就会直接执行根据位置匹配。

2. 示例编辑

2.1 模板准备
上图中我们可以看到,Excel中第一行数据(不包括标题)在B3~K3中,在填报模板中,导入数据的单元格也要在B3~K3,单元格从上到下扩展,并添加控件:
注:若导入的报表中不是空白的填报表,而是有取数的功能,则需要将报表的最左父格设置为列表显示。
2.2 报表填报属性设置
在报表填报属性中,只需要将第一行单元格与数据表的数据列进行绑定即可。
该例中,Excel中的原始数据供应商和类别都是具体的名字,若用户希望Excel导入的是名字,但实际入库的是ID怎么办呢?
此时可以在报表填报属性中使用map函数转换,以下具体介绍。
定义map函数需要的数据集
增加数据集ds1,SQL语句为:SELECT * FROM 供应商
再增加数据集ds2,SQL语句为:SELECT * FROM 产品类别
报表填报属性中使用map函数
Excel导入的是名字,使用map函数转换,如下图:
2.3 填报工具栏设置
默认填报工具栏是没有导入Excel按钮的,点击模板>模板web属性>填报页面设置为该模板单独设置,勾选使用工具栏,为该报表单独设置工具栏,清空工具栏,然后在按钮面板中双击提交按钮和导入excel按钮,将这两个按钮添加到顶部工具栏中,如下图:
已完成模板可参考%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject|\ExcelImport\导入Excel根据位置匹配.cpt
在线查看模板效果请点击导入Excel根据位置匹配.cpt
注:在线查看模板需要用到示例中的excel,点击excelimport.xls下载。
另:如果模板中导入数据的单元格(设置了扩展属性并添加控件的单元格)从第6行开始,那么根据位置匹配导入的时候,Excel中数据就从第6行开始导入。

附件列表


主题: 专题总结
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗? [ 去社区提问 ]