找回密码
 立即注册

QQ登录

只需一步,快速开始

jiangyz1
金牌服务用户   /  发表于:2023-7-12 15:54  /   查看:679  /  回复:1
本帖最后由 jiangyz1 于 2023-7-12 15:56 编辑

版本号:V16.1
业务需求,将excel表格拆分成多个文件存储,拆分规则如下:
1、按sheet拆分,即每个sheet生成一个独立文件。
2、按指定列每行的数据内容拆分,设置标题行,将相同内容的行组合生成一个文件存储(每个文件都有标题行),如下图所示,下图文件拆成两个表:
总表:
1689146705750.png340130919.png

拆分后表1:
image.png25227049.png

拆分后表2:
image.png796640319.png

解决思路:
1、按sheet拆分时,取到每个sheet的blob流
2、按数据内容拆分时,遍历行动态生成workbook实例并设置内容,然后调用export方法取到blob流
3、将前两个步骤取到的blob流通过jszip包保存为压缩文件并下载
问题:
1、不知道目前解决思路是否可行,有没有性能问题?
2、export方法只能整表存储,不能取到单个sheet的blob流?

1 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-12 17:09:37
沙发
您好,您这样做可能会有一些问题,因为sheet中某些信息并不单单是在sheet中的,还有部分信息在spread上,因此如果将sheet拆分,但不处理这些丢失的信息,很可能会导致导出的信息或者样式不完整。

我理解的您的需求是逐个导出sheet表,目前我们这边没有API可以直接实现这个需求,因此对于这种情况,您可以先复制一个spread对象,然后将多余的sheet删除掉,只留下一个sheet表,再将这个spread导出为单个文件,这样操作可以最大程度保留信息的完整性,避免出现信息或者样式不完整的情况。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部