小鳖五 2022-12-07 00:33 采纳率: 100%
浏览 34
已结题

esayexcel导出多sheet页时为何不能开启多线程来write不同sheet页?

使用easyexcel导出多sheet页的excel文件,前端报网络超时。
想开启多线程来写sheet页,在网上搜了许多文章,试了许久,实现不了。
如果有实现了的大佬或者知道为何的给解答下,感激不尽!!!!!!!!!!!!!!!!!!!!!!!!!

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-07 01:12
    关注

    在使用 easyexcel 导出多个 sheet 页时,不能开启多线程来 write 不同的 sheet 页,这是因为 easyexcel 在 write 数据时会自动开启多线程来提高性能。如果再使用多线程来 write 数据,可能会导致线程冲突,造成数据导出失败。

    为了避免上述问题,在使用 easyexcel 导出多个 sheet 页时,只需要通过 ExcelWriter 类的 write 方法来写入不同的 sheet 页即可,不需要再开启多线程。例如,可以这样写入两个 sheet 页的数据:

    // 创建 ExcelWriter 对象
    ExcelWriter writer = new ExcelWriter("file.xlsx");
    
    // 写入第一个 sheet 页的数据
    List<List<String>> data1 = ...;
    writer.write(data1, sheet1);
    
    // 写入第二个 sheet 页的数据
    List<List<String>> data2 = ...;
    writer.write(data2, sheet2);
    
    // 关闭 ExcelWriter 对象
    writer.close();
    
    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月31日
  • 专家已采纳回答 12月23日
  • 创建了问题 12月7日

悬赏问题

  • ¥15 C#视频播放器的原码,有的发一
  • ¥15 用FDTD计算并提取光栅结构的正负一级衍射光的光功率
  • ¥30 AVL fire DVI中的Design Explorer里面的Run的Status为什么总是Terminated?哪里出问题了?需要修改哪里?
  • ¥15 有二开IOT平台code的来搞钱了。
  • ¥15 求lingo语言编程以下内容
  • ¥15 cannot import name '_MissingValues' from 'sklearn.utils._param_validation'引用smoke
  • ¥15 求PHP跨站免登录技术
  • ¥15 AVL fire DVI中的Design Explorer里面的Objectives /Constraints的scale应该怎么设置
  • ¥15 qml如何绘制三维笛卡尔坐标系并向其中添加折线?
  • ¥15 咨询一个PYTHON的问题