目前系统中有个导出excel功能,一条数据目前就8百条数据 都需要50秒的时间 数据量多的话或者批量导出时间会更长 导致前端响应时间太长终端连接 (一条数据导出excel的时候表头会复杂一点 然后会把这条数据上传的所以文件一起打成一个压缩包下载 这可能就导致了处理时间比较慢)
我经理说 先提前生成好文件 点击导出的时候 可以直接多选一起导出打成zip文件,,但是提前生成好文件的那个出发点没有 他们可以创建好数据没有提交就导出 也可能 提交了 然后又修改了就导出 也可能这条数据审批的时候被打回了就导出 所以这里面的数据有变动 提前生成的话 数据会存在不一致
我说的这种情况 是不是只能实时导出才行
实时导出的话 怎么解决数据量大 响应超时的问题呀
所以还有没有啥好办法,能够解决这个问题
800条数据,多少列呢,800列吗
这么点数据不应该这么慢
你们应该解决为什么慢的问题
是引用的microsoft.excel.dll慢吗,改成poi试过吗
此外,导出的时候不要进行自动调整列宽和行高,会非常慢
给单元格设置背景色和边框也会导致变慢
尽量只导出数据,不要乱七八糟的格式
如果还不行,直接按文本方式导出成csv文件,如果这还慢那只能说你们的框架弱爆了,跟文件本身就无关了
另,导出的时候应该用stateview里缓存的datatable直接进行导出,而不要重新去查数据库,否则本来就慢又要重查数据库那加倍的慢
是查询组装数据慢呢还是导出操作慢呢?如果查询组装数据慢的话可以让他们先定制一个报表,然后根据选择的报表维度后端定时去生成excel,到时候下载直接去下载文件就行了
https://doker.blog.csdn.net/article/details/129018179
这里有excel导出的方案,希望能帮到你