导出Excel文件0KB问题排查思路

  • Last update:September 20, 2022
  • 1. 概述

    在日常导出 Excel 文件时经常会遇到导出 excel 为 0kb、导出 excel 文件损坏、导出 excel 打开空白的问题,引起这个问题的原因有很多,本文梳理一些常规问题的排查方案,如下图所示:

    注:11.0 中性能插件的功能被拆分并内置,相关说明请参考:性能优化插件内置说明

    2. 常见排查步骤

    2.1 检查 temp 文件夹

    问题描述:temp文件满了或无temp文件夹,导出execl提示:java.io.expection:no such file or directory,导出的excel是0kb。

    解决方案检查缓存temp文件夹是否存在,如果不存在,新建temp文件,如果存在则清空文件内容。

    1)windows:检查Tomcat根目录下是否有temp文件夹。

    • 如果有,备份后清空 temp 文件夹下的内容或者更改临时文件目录(参考 Java IO 的2.3部分),重启tomat。

    • 如果无,在tomcat根目录下新建 temp 文件夹,重启 Tomcat。

    2)Linux:

    • 缺少临时目录文件: 查看临时目录路径,检查这个目录下面有没有 poifiles 文件夹,当这个文件夹缺失的时候,会导致Excel导出0KB, 需要重启web服务器,会重新自动生成poifiles文件夹。

    • 权限问题:非 root 用户启动 tomcat 可能无法创建临时目录和文件/tmp/poifiles,需要修改文件或目录所属的用户或用户组。

    2.2 磁盘空间不足

    问题描述:catalina.log日志中出现如下报错:because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache

    解决方案:清理磁盘空间后,再导出excel。

    2.3 excel软件问题

    2.3.1 因扩展名无效无法打开文件

    原因分析:未安装对应版本的 excel 软件,低版本 excel 无法打开高版本文件

    解决方案:安装导出excel方式选择插件,然后模板 web 属性选择导出成 excel2003 的。

    2.3.2 试图打开文件错误

    原因分析:受保护的视图/来自其他电脑,文件被锁定

    解决方案:通过修改受保护的视图/来自其他电脑,勾选解除锁定。

    3. 常见问题及解决方案

    3.1 模板分页导出或者分页分 sheet 导出都报错, 原样导出能成功 但是文件是 0kb。

    原因分析:temp临时文件目录满了或不存在
    解决方案:检查缓存 temp 文件夹是否存在,如果不存在,新建temp文件,如果存在则清空文件内容。

    3.2 分页导出 EXCEL 报错 No such file or directory,原样导出 EXCEL 文件 0KB。


    原因分析:temp临时文件目录满了或不存在

    解决方案:检查缓存 temp 文件夹是否存在,如果不存在,新建temp文件,如果存在则清空文件内容。

    3.3 报错详情:Report index :1, Layer Report can not export by this way

    原因分析:10.0 行式引擎插件+流式导出 excel 插件,不支持分页分 sheet 导出 excel。

    解决方案:关闭插件后导出。

    3.4 聚合报表导出 excel 文件损坏

    原因分析:聚合报表导出报错文件损坏,报错:存在报表块或图表重叠,导出失败。
    解决方案:检查模板,发现确实存在重叠,删除无用的报表块,使其不再重叠,导出正常了。

    3.5 定时调度发送的邮件的附件为 0kb

    原因分析:定时调度的文件处理设置配置为任务结束即清理,导致生成的附件被清理了。
    解决方案:调整配置。

    Attachment List


    Theme: 报表专题
    Already the First
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy