1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
11.0.9 | 1)导出 Excel 新增「导出水印」功能 2)导出 Excel 中的「需要密码」和「保护密码」变更为「编辑密码」和「文件保护」,与「导出水印」共同构成内容保护 |
11.0.13 | 1)导出 Excel 中,「仅限预览」功能优化,导出后文件不支持复制单元格内容 2)「模板>模板导出属性>通用」勾选「密码支持公式」,导出 Excel/PDF/Word 中的文件密码和工作表密码支持使用公式 |
1.2 功能简介
在预览模板时经常为了美观和展示需求将部分内容隐藏,同时导出时希望将隐藏的行列一起导出,FineReport 提供「导出隐藏行」和「隐藏列」功能满足用户的日常使用需求。同时在工作中出于对文件内容的保护以及为了解决数据安全的需求,用户经常需要导出 Excel 文件支持水印和只读模式。FineReport 提供「文件保护」和「编辑保护」功能并新增「导出水印」功能,为用户解决数据安全提供了方案。
在设计器菜单栏中的「模板>模板导出属性」,选择「Excel」即可进入设置页面,如下图所示:
1.2.1 11.0.9 之前的版本功能概述
功能 | 功能概述 | |
---|---|---|
导出隐藏行/导出隐藏列 | 设置了行高或列宽为 0 的单元格,导出 Excel 后只是希望隐藏该单元格,而当需要查看单元格内容时拖拽单元格的行高和列宽就可以查看,此时需要设置导出隐藏行或导出隐藏列
| |
需要密码 | 报表导出 Excel 后,并不是所有的人都是可以查看的,此时就需要对导出的 Excel 文件设置密码,只有知道密码的人才能查看导出的 Excel 内容 选中 ,后面会出现个文件密码设置文本框,在文件密码文本框中输入您要设置的密码。若设置了密码,则打开导出的Excel时,需要输入正确的密码才能打开注1:密码暂不支持中文 注2:该功能需要配合「导出 excel 方式」插件使用,具体说明请参见本文第四章内容 注3:目前的保护密码对于报表是多个 sheet 的,只能设置一个密码,即导出后要编辑每个 sheet 都要输一次设置的密码 | |
保护密码 | 报表导出 Excel 后,并不是所有人都能编辑 Excel 内容的,此时就需要对导出的 Excel 文件设置保护密码,只有知道密码的人才能编辑单元格内容。 选中 ,后面会出现个工作表密码设置文本框,在工作表密码文本框中输入您要设置的密码即可。若设置了保护密码,则当要修改导出Excel的单元格时,会弹出如下对话框:当点击 Excel 中的「审阅>更改>撤销」工作表保护时,输入设置的密码后,单元格就可以被修改了 注1:密码暂不支持中文 注2:该功能需要配合「导出 excel 方式」插件使用,具体说明请参见本文第四章内容 注3:目前的保护密码对于报表是多个 sheet 的,只能设置一个密码,即导出后要编辑每个 sheet 都要输一次设置的密码 |
1.2.2 11.0.9 及以后版本功能概述
功能 | 功能概述 | |
---|---|---|
导出设置 | 导出隐藏行 | 设置了行高或列宽为 0 的单元格,导出 Excel 后只是希望隐藏该单元格,而当需要查看单元格内容时拖拽单元格的行高和列宽就可以查看,此时需要设置导出隐藏行或导出隐藏列
|
导出隐藏列 | ||
内容保护 | 文件保护 | 报表导出 Excel 后,并不是所有的人都是可以查看的,此时就需要对导出的 Excel 文件设置密码,只有知道密码的人才能查看导出的 Excel 内容 勾选「文件保护」,后面会出现个文件密码设置文本框,在文件密码文本框中输入您要设置的密码。若设置了密码,则打开导出的Excel时,需要输入正确的密码才能打开 注1:密码暂不支持中文 注2:该功能需要配合「导出 excel 方式」插件使用,具体说明请参见本文第四章内容 注3:目前的保护密码对于报表是多个 sheet 的,只能设置一个密码,即导出后要编辑每个 sheet 都要输一次设置的密码 |
编辑保护 | 「编辑保护」勾选后会出现「工作表密码」和「仅限预览」,两个选项由于都是设置工作表密码,为二选一。 「工作表密码」对导出的 Excel 文件设置保护密码,只有知道密码的人才能编辑单元格内容。 「仅限预览」勾选后:
注1:工作表密码暂不支持中文 注2:该功能需要配合「导出 excel 方式」插件使用,具体说明请参见本文第四章内容 注3:目前的保护密码对于报表是多个 sheet 的,只能设置一个密码,即导出后要编辑每个 sheet 都要输一次设置的密码 | |
导出水印 | 勾选了「导出水印」之后,导出的 Excel 文件在会带有水印。导出水印支持 excel2003、excel2007 。 支持的导出方式:工具栏导出、导出事件、URL导出、API导出、自定义JS导出、设计器导出、邮件附件。 注:不支持移动端 |
2. 示例一:导出隐藏行列
2.1 打开报表
打开模板:%FR_HOME%\webroot\WEB-INF\reportlets\GettingStarted.cpt
2.2 设置隐藏列
在 E1 单元格中输入文本:测试,并隐藏 E 列,如下图所示:
2.3 设置导出属性
在设计器中选择「模板>模板导出属性」,选择「Excel」,勾选「导出隐藏列」点击确定,如下图所示:
2.4 预览效果
1)保存模板,选择分页预览,点击查询后,在工具栏中选择「导出>Excel」,选择分页导出,如下图所示:
2)将导出的文件使用 Excel 打开。选责取消隐藏即可看到隐藏的文本内容,如下图所示:
3. 示例二:导出水印和编辑保护
3.1 打开报表
打开模板:%FR_HOME%\webroot\WEB-INF\reportlets\GettingStarted.cpt
3.2 设置水印
1)选择「服务器>报表平台管理」,登录数据决策系统,如下图所示:
2)选择「管理系统>安全管理>水印设置」,打开水印,水印内容为自定义公式:="123",水印颜色为红色,字号30,横向200,纵向100,如下图所示:
注:水印的设置以及生效范围请参考:水印设置。
3)在设计器中选择「模板>水印」,选择「采用服务器设置」,点击确定,如下图所示:
3.3 设置导出属性
在设计器中选择「模板>模板导出属性」,选择「Excel」,在勾选「导出水印」和「编辑保护」,其中「编辑保护」选择「仅限预览」,点击确定,如下图所示:
3.4 效果预览
1)保存模板,选择分页预览,点击查询后,在工具栏中选择「导出>Excel」,选择分页导出,如下图所示:
2)将导出的文件使用 Excel 打开,可以看到导出文件包含水印并且文档不允许编辑,如下图所示:
4. 提高可用性的相关插件
由于导出文件密码的设置目前仅支持导出 xls 格式的 Excel,而 FineReport 默认导出的 Excel 格式为 xlsx,因此使用默认的导出 Excel 按钮导出 xlsx 之后,文件密码不生效。
针对这个问题,我们可以通过安装插件来解决,在应用商城搜索excel,在搜索结果中选择「导出 excel 方式」插件并安装。如下图所示:
该插件为免费插件:
安装该插件之后,在所编辑模板的模板web属性中可以看到,工具栏中多出了导出 excel03 的选项,如下图:
编辑顶部工具栏,用 Excel03 导出代替默认的 Excel 导出,预览报表时显示的导出 Excel 按钮为 Excel(xls),导出文件密码功能此时方可生效:
打开导出的 Exce 时弹出如下提示,输入文件密码后可查看excel内容: