彩票走势图

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

转帖|使用教程|编辑:龚雪|2021-07-15 10:00:39.240|阅读 267 次

概述:SpreadJS支持导出很多Excel不支持的单元格类型,例如复选框单元格、单选列表、复选框列表等,本文将主要为大家介绍此功能。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

SpreadJS支持了很多Excel不支持的单元格类型,例如复选框单元格、单选列表、复选框列表等等,这为用户在展示数据时提供了直观易用的选择方式。

点击获取SpreadJS工具下载

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

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

本文以复选框为例,实现一个将复选框导出到Excel,并使其维持正常样式的方案。

实现思路:

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 | 下载试用

纯前端表格控件SpreadJS,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,备受华为、苏宁易购、天弘基金等行业龙头企业的青睐,并被中国软件行业协会认定为“中国优秀软件产品”。SpreadJS 可为用户提供类 Excel 的功能,满足表格文档协同编辑、 数据填报、 类 Excel 报表设计等业务场景需求,极大的降低企业研发成本和项目交付风险。

本文转载自


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP