从零开始,SpreadJS新⼈学习笔记【第5周】
复制粘贴、单元格格式和单元格类型
无锡 旅游本周,让我们⼀起来学习SpreadJS 的复制粘贴、单元格格式和单元格类型,希望我的学习笔记能够帮助你们,从零开始学习 SpreadJS,并逐步精通。
在此前的学习笔记中,相信⼤家已经学会并熟练掌握了SpreadJS的基本使⽤⽅法。下⾯,我们将更进⼀步,深⼊了解SpreadJS的数据绑定、单元格类型及前端导⼊导出Excel等核⼼功能,充分体验“仅需100多⾏代码,就可将Excel嵌⼊Web应⽤系统” 的全过程。
SpreadJS 学习笔记的配套视频资料,请在观看、下载。
郑爽金鹰节SpreadJS 的复制粘贴赤小豆的功效
将模板内容复制粘贴到Excel
SpreadJS ⽀持将模板内容通过复制粘贴的⽅式,导⼊Excel中,且保持复制粘贴内容的最⼤完整性和样式,通过设置Workbook的options属性的allowCopyPasteExcelStyle⽅法,可设置复制粘贴是否带样式。
如果允许复制粘贴样式,即可选择并复制⼀⽚带样式的区域,在Excel中的粘贴效果如下:
如果取消允许复制粘贴样式,此时再次执⾏复制粘贴操作,则会在 Excel中显⽰如下(样式未被粘贴):
扩展 SpreadJS 的粘贴区域
当粘贴区域不够时,SpreadJS⽀持⾃动扩展,可通过设置workbook.options.allowExtendPasteRange 属性来实现此效果。
安全带的系法
举例,复制10⾏数据,在第28⾏的位置粘贴,SpreadJS模板的⾏数⾃动扩展到40⾏。取消选择【扩展粘贴区域】这个功能项时,⽆法粘贴成功。
复制粘贴增强
SpreadJS 的复制粘贴增强功能包含:复制时是否带⾏头列头。通过pyPasteHeaderOptions 属性可设置复制时是否带⾏头、列头,
如下图,在【复制粘贴增强】下拉框中选择含⾏头列头,选中整个B列、复制,在Excel中粘贴,效果如下,发现表头B也被粘贴上:
SpreadJS 复制粘贴⽰例:
SpreadJS 的单元格格式
使⽤ SpreadJS 可以为每个单元格设定不同的格式,常⽤的有时间格式、数字格式等。当原始数据不是我们想要的样⼦时,都可以通过setFormatter⽅法设定格式。
如下图,输⼊框中输⼊⽇期时间和数字,点击下图中的设置格式按钮,即可在【展⽰效果】列⽣成展⽰效果:
⾃定义单元格格式
如果您需要创建⼀套有特殊规则的格式,例如下图中的余额列:当余额为负数的时候显⽰红⾊,0-1000为黄⾊、1000以上为绿⾊时,对于这样的需求可以使⽤⾃定义格式,效果如下图:
山水风光的古诗会计专⽤格式
SpreadJS⽀持会计专⽤格式,可以满⾜⼏乎所有⽇常财务需要,最为常⽤的是数字格式化,为数字设置货币符号如⼈民币符号'¥'、美元符号'$'、保留确定位数的⼩数位等。对于会计专业会使⽤到的:添加空格、重复字符、千分符与数值缩放、百分数、数字占位符等都可以使⽤下图中展⽰的⽅式来设置:
SpreadJS ⾃定义单元格格式⽰例:
SpreadJS 的单元格类型
SpreadJS 中的单元格可以被设置为不同的类型,如按钮、checkbox、下拉框、超链接、或⾃定义单元格等。您可以单独给⼀个单元格设置类型,也可以把单元格类型绑定到某⼀列上,让某⼀列成为⼀种类型的单元格。
按钮单元格
您通过【按钮单元格】可设定按钮在单元格的位置,距离各边距的位置、背景⾊和⽂字等。
// CellTypes可以是 Button、CheckBox、Combobox、hyperlink
var b1 = new GC.Spread.Sheets.CellTypes.Button();
sheet.setCellType(3, 2, b1, GC.Spread.Sheets.SheetArea.viewport);
饭思思复选框单元格
SpreadJS的【复选框单元格】默认有两种状态:选中和未选中。当然,⽤户也可通过isThreeState(true) 设定为三种状态:选中、未选中和不确定状态。
普通组合框单元格(单选下拉框)
通过设定是否可编辑editable(),您可以控制单元格是单选可输⼊框或者单选不可输⼊框。
超链接单元格