反馈已提交

网络繁忙

[通用]JS实现移动端导出文件

  • 文档创建者:Leo.Tsai
  • 编辑次数:5次
  • 最近更新:April陶 于 2021-11-25
  • 1. 概述

    1.1 版本依赖

    报表服务器版本HTML5移动端展现插件版本App版本
    10.0V10.4.975V10.4.975

    1.2 应用场景

    移动端现在支持将 cpt 报表导出为:Word、Excel、PDF、图片。效果如下图所示:

    1607067351651158.gif

    1.3 导出方案

    现移动端提供导出接口,用户可以通过 JavaScript 代码实现移动端导出文件的效果。

    目前只支持 cpt 报表,详情参见:报表导出接口

    四种文件导出代码如下表所示:

    JavaScript 代码
    参数说明
    _g().exportReportToExcel('sheet');
    普通报表导出Excel
    _g().exportReportToImage();
    普通报表中导出图片
    _g().exportReportToPDF();
    普通报表导出PDF
    _g().exportReportToWord();
    普通报表导出Word

    2. 示例

    2.1 准备模板

    打开设计器内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\Phone\industry\银行存贷汇总.cpt

    2.2 添加按钮控件

    1)在最上方插入行,并调整行距。

    2021-10-26_17-40-52.png

    2)模板上方添加 4 个填报按钮,从左到右分别用来导出Word、导出Excel、导出PDF、导出图片。如下图所示:

    以导出Word为例,合并 B2、C2 单元格,并选中添加「按钮控件」,设置按钮名字「导出Word」、按钮图标。

    2021-10-26_18-03-06.png

    2.3 按钮添加事件

    以导出 Word 按钮为例,给按钮添加一个点击事件,填写导出代码,如下图所示。其他 3 个按钮同理设置,只需要改下代码即可。

    2021-10-26_18-09-00.png

    JavaScript 代码见1.3导出方案

    2.4 效果预览

    保存模板,点击移动端预览,选择填报预览的方式,使用企业微信扫一扫二维码,实际导出效果如下图所示:

    注:IOS 暂不支持在企业微信中直接导出PDF。

    1607067351651158.gif

    3. 模板下载

    已完成模板参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\phone\JS\移动端导出文件.cpt

    点击下载模板:移动端导出文件.cpt

    4. 注意事项

    4.1 iOS 端已知问题

    1)导出 Word 乱码的问题

    • APP:导出 Word 乱码,暂且不支持第三方应用打开。

    • H5:导出 Word 乱码,可以利用 WPS 打开文件(第三方集成可能不支持)。具体步骤:在 safari 中打开-->下载文件-->选择下载的文件-->共享到 WPS Office。

    2)导出图片的问题

    iOS 端导出图片后,可能会出现图片名称并非模板名称的问题。

    3)导出 Excel 的问题

    钉钉导出 Excel 文件后,中文文件名乱码,这是钉钉浏览器自己解析的问题。

    4)导出 PDF 问题

    H5 导出 PDF 只能在 Safari 浏览器中进行。

    操作步骤:预览模板>导出PDF>在 Safari 中打开>选择查看/接收 PDF 文件的 APP 。

    注:只在V10.4.995 及之后的 H5 插件才支持。

    4.2 Android 端已知问题

    1)导出 Excel、PDFImage的问题

    个人微信中导出 PDF、Excel、Image 文件时,如果直接用自带浏览器打开的话,可能出现会话失效,无法打开文件的问题。

    现在的解决方案是建议安装QQ浏览器,在QQ浏览器中打开文件。

    2)导出 Word 的问题

    有些机型不支持打开 doc 文件,需要手动改文件后缀名(bin-->doc)。

    附件列表


    主题: 移动端应用
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭