找回密码
 立即注册

QQ登录

只需一步,快速开始

lynn8588

金牌服务用户

40

主题

161

帖子

413

积分

金牌服务用户

积分
413
lynn8588
金牌服务用户   /  发表于:2024-4-29 16:03  /   查看:483  /  回复:1
本帖最后由 Ellia.Duan 于 2024-5-11 14:22 编辑

Hi team,

麻烦看一下下面这个代码报错问题,以及在保证不丢失数据的情况下,怎么优化,谢谢!使用 wb.save(os,SaveFileFormat.Xlsx)不会报错
[size=13.3333px]附件里有报错文件。

   private byte[] getWorkbookByte(Workbook wb) {
        try{
            //        Workbook wb = newWorkbook();
//        wb.getActiveSheet().getRange("A1");
            ByteArrayOutputStream os = newByteArrayOutputStream();
        XlsxSaveOptions options = new XlsxSaveOptions();
        options.setExcludeEmptyRegionCells(true);
        options.setExcludeUnusedStyles(true);
        options.setExcludeUnusedNames(true);
           wb.save(os,options);

            //wb.save(os,SaveFileFormat.Xlsx);
            byte[] bytes = os.toByteArray();
            logger.info("to byte done");
            return bytes;
        }catch (Exception ex){
            logger.error("getWorkbookByte failed",ex);
            throw ex;
        }

    }

SOpenBefore (1).xlsx

1.25 MB, 下载次数: 13

1 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-29 16:07:14
沙发
问题可以复现,目前初步调查是setExcludeUnusedStyles这个选项导致的,

具体的错误原因,还需要在调查一下。有新的进展会在帖子中更新

跟踪编号
DOCXLS-10284

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部