根据位置匹配

编辑
  • 文档创建者:印然
  • 浏览次数:6440次
  • 编辑次数:12次
  • 最近更新:Kevin-s 于 2019-06-20
  • 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

    此页面有帮助吗?只是浏览 [ 去社区提问 ]