纯前端表格控件SpreadJS使用教程 – 将复选框导出Excel

然而,当用户将包含此类型的的文件导出Excel时,就会发现出现了一定的问题。以复选框为例,在SpreadJS中用户处于选中状态,而当导出到Excel中时,会发现复选框区域的数值变成True了。

这是因为,复选框呈现出的小框属于SpreadJS特有的样式信息,而当getValue()时,取到的其实仍旧是true/false/null。而导出到Excel时,Excel并不支持这种样式信息,获取到的依旧是true/false/null。

实现思路:

Step1: 导出前循环判断sheet中是否包含复选框单元格;

sheet.getCellType(i,j) instanceof GC.Spread.Sheets.CellTypes.CheckBox

Step2: 判断复选框时否为三态复选框,根据不同的状态取对应的值;

let text = ''let checkbox = sheet.getCellType(i,j)if(sheet.getCellType(i,j).isThreeState()){text = sheet.getValue(i,j) checkbox.textTrue() : (sheet.getValue(i,j) == null checkbox.textIndeterminate():checkbox.textFalse())}else{text = sheet.getValue(i,j) sheet.textTrue() : sheet.textFalse()}

Step3:将复选框坐在单元格类型置空;

sheet.setCellType(i,j,nulll)

Step4: 设置文本样式给对应的单元格。

sheet.getValue(i,j) sheet.setValue(i,j,'☑ ' + text) : sheet.setValue(i,j,'☐ ' + text)

纯前端表格控件SpreadJS使用教程 - 将复选框导出Excel图

通过上述四步,就可以完成将复选框导出Excel的功能了。

SpreadJS | 下载试用

如果您对我们的产品还有任何疑问,欢迎咨询在线客服>>

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月12日
下一篇 2021年6月12日

相关推荐

发表回复

登录后才能评论