SpreadJS删除指定列导出Excel
背景:有小伙伴在使用SpreadJS的时候会有这一个需求,表格在展示的时候需要将表格的内容完全展示,但是导出Excel的时候需要删除某行或者某列。ExcelIO用作导入导出Excel,但是无法删除指定行列导出。思路:我们在初始化的时候可以创建两个workbook,一个用于数据展示,一个用于导出Excel。我们将展示的workbook1通过toJSON转为ssjson,再通过formJSON导入到workbook2。这时候我们需要的操作(删除行列等)都在workbook2中进行。Excel也是将workboo2导出。
我们来看下代码:
首先,我们创建两个DOM承载两个workbook,并将其中一个隐藏。
<div id="ss" class="sample-spreadsheets"></div>
<div id="ss1" class="sample-spreadsheets" style="display: none;"></div>
然后,我们将workbook1的数据toJSON,并在workbook2 fromJSON
spread.fromJSON(jsonData);
var str = spread.toJSON()
spread1.fromJSON(str);
此时,我们需要删除最后两列导出,只需在workbook2中操作,这部分用户是无感知的
var sheet = spread1.getActiveSheet();
sheet.deleteColumns(6,2);
实现效果如下,页面展示的G和H导出后消失
下载附件即可查看完整代码
请问deleteColumns是哪个版本支持的,谢谢🙏 如果执行两遍sheet.deleteColumns(col, colCount);
是会相应第二次的列的索引吧? 果果xxxxk 发表于 2021-12-7 17:08
如果执行两遍sheet.deleteColumns(col, colCount);
是会相应第二次的列的索引吧?
v9就开始支持了,这是v9的用法
删除之后,后面的行索引也会发生变化,需要重新确定行索引。
页:
[1]