luckysheet添加文本后缀(kg)、金额大写等单元格格式
金额大写
需求:用luckysheet做发票时需要显示金额的中文大写。
1、在zh.js(CTRL+P快捷键找)中的defaultFmt中加入一行金额大写的数据。实现国际化时同级的其他几个语言文件也要加。
// nby 增加数字中文大写格式{ "text": '金额中文大写', "value": "拾元", "example": "拾元" },
2、找到format.js文件的format方法,入参fmt就是前面添加的对象的value,判断一下是否是金额大写格式,之后执行转换的方法,返回结果。ps:我转换方法找的网上的,链接如下:
js前端将金额数字格式化成大写金额(代码)_进步中的程序猿的博客-CSDN博客_前端金额大写
代码如下:
// nby 新增金额中文大写if(fmt === '拾元'){if( v === null){return null}else{return cnMoneyFormat(v) }function cnMoneyFormat(money) {var cnMoney = "零元整";var strOutput = "";var strUnit = '仟佰拾亿仟佰拾万仟佰拾元角分';money += "00";var intPos = money.indexOf('.');if (intPos >= 0) {money = money.substring(0, intPos) + money.substr(intPos + 1, 2);}strUnit = strUnit.substr(strUnit.length - money.length);for (var i = 0; i < money.length; i++) {strOutput += '零壹贰叁肆伍陆柒捌玖'.substr(money.substr(i, 1), 1) + strUnit.substr(i, 1);}cnMoney = strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零{0,3}万/, '亿').replace(/^元/, "零元");return cnMoney;}}// nby 新增金额中文大写 END
文本后缀
需求:产品经理说需要加一个能在数字后面显示单位的单元格格式。
1、同样,在zh,js文件中format对象中加一行数据,,同级的几个语言文件也加上
moreText:'更多文本后缀',
2、由于需要用户输入文本后缀,所以需要创建dom弹出一个input框来。 找到moreFormat.js文件的createDIalog方法,在里面加一个是文本后缀的判断处理。
代码如下:
// nby 新增文本后缀else if(type === 'moreText'){//文本后缀title = '自定义文本后缀'content = '<input type="text" id="suffixText" style="width:100%">'// 后缀回填,这里选取选中的第一个单元格作为标准。const r = Store.luckysheet_select_save[0].row[0]const c = Store.luckysheet_select_save[0].column[0]const cellData = Store.flowdata[r][c]if(cellData?.ct?.t === '^'){// 已经是文本后缀格式了,需要回填content = `<input type="text" id="suffixText" style="width:100%" value = '${cellData?.ct?.fa.slice(1)}'>`}}
效果如下:
3、接下来就要获取input的值,然后对点击“确定”进行处理。
代码如下:取到input值后,调用menuButton.updateFormat方法修改单元格的ct属性
let inputDom = document.getElementById('suffixText')
if(inputDom){let input = inputDom.value ?? '' //这里可以不让空字符串通过,看业务逻辑// "\"€\" 0.00"menuButton.updateFormat(d, "ct", `^${input}`); //修改单元格对象的ct属性
}
4、完善单元格对象。(非必要)
由于luckysheet的完整单元格格式属性如下:
ct: {fa: 'General', t: 'n'}
官方单元格属性介绍:
单元格 | Luckysheet文档
文本后缀单元格对象的ct属性:
ct : { fa : '^文本后缀' , t : '^' }
前面只把fa给改变了,t还没变,所以需要在menuButton.js文件的updateFormatCell方法中对t进行处理。
// nby 新增自定义文本后缀
if(foucsStatus.slice(0,1) === '^'){type = '^'
}
// nby 新增自定义文本后缀 END
5、更新单元格对象
format.js的format方法添加判断,是文本后缀类型就返回真正的值加上后缀。
代码如下:
// nby 新增自定义文本后缀if(fmt.slice(0,1) === '^'){debuggerif( v === null){return null}else{return v+fmt.slice(1,fmt.length) }}// nby 新增自定义文本后缀 END
(完,呼呼呼)
luckysheet添加文本后缀(kg)、金额大写等单元格格式相关推荐
- 设置单元格填充方式_单元格的选择及设置单元格格式
数据输入完毕,接下来可以设置字体.对齐方式.添加边框和底纹等方式设置单元格格式,从而美化工作表.要对单元格进行设置,首先要选中单元格. 选择单元格 选择单元格是指在工作表中确定活动单元格以便在单元格中 ...
- Word和Excel齐发力,将多个单元格的文本内容合并到一个单元格
有时候在处理Excel表格的时候,我们需要将多个单元格的文本内容合并到一个单元格中,中间添加\或,之类的分隔符.比如下面这个表格,左侧是原始单元格的内容,右侧是希望合并的结果,每个单元格之间用逗号分隔 ...
- 解决wps工作簿从文本中复制粘贴时单元格中首位0无法显示
解决wps工作簿从文本中复制粘贴时单元格中首位0无法显示 1.选中特定单元格-开始-类型转换-数字转换为文本类型 2.选中要复制的文本 3.粘贴单元格-右键-选择粘贴-无格式文本 4.效果 1.选中特 ...
- python excel 单元格格式_python设置单元格数值格式
python xlwt如何设置单元格格式 python xlwt模块怎么设置excel单元格的属性 如图,默认是general.我想写入的时候就是Text类型.请问应该怎么做. from xlwt i ...
- datagridview单元格合并居中_系统地学习Excel第17课,设置单元格格式
上一篇:系统地学习Excel第16课,使用Excel的「替换」功能 本篇内容结构如下: 本章的知识体系 Excel工作表的整体外观由各个单元格的样式构成,单元格的样式外观在Excel的可选设置中主要包 ...
- 使用pandas处理excel,并使用Openpyxl修改单元格格式
使用pandas处理excel,并使用Openpyxl修改单元格格式 使用pandas处理excel,并使用Openpyxl修改单元格格式 需求 处理基本流程 查询资料过程 1.读取数据, 2.指标的 ...
- java导出excel表格设置行高,POI导出Excel设置单元格格式
使用Apache的POI相关API导出Excel设置单元格格式 栗子,一下各个代码之间的变量是通用的,要是在某个代码块中找不到某个变量,则可以向上找寻 准备工作 InputStream = templ ...
- .net 导出html 到excel 合并单元格,C#导出Excel,并且设置Excel单元格格式,合并单元格....
注:要添加COM组件 Microsoft Excel 11.0 Object Library 引用. 具体代码如下: using System; using System.Collections.G ...
- asp 导出excel数据 fso 单元格格式
<!--#include file="../conn.asp"--> <% dim s,sql,filename,fs,myfile,x Set fs = ser ...
最新文章
- 树链剖分——线段树区间合并bzoj染色
- 第十六届智能车竞赛广东省线上比赛成绩汇总
- ad域 禁用账号_通过AD域控平台统一批量管理公司电脑的桌面
- 02 - Unit07:显示笔记下拉菜单、笔记的分享功能、笔记的删除功能
- TODO:从数据库中随机抽取一条记录
- 【SpringBoot笔记】SpringBoot整合Druid数据连接池
- 将您的SQL Server工作负载迁移到PostgreSQL –第1部分
- 相机技术公司Lytro获6000万美元D轮融资,阿里巴巴参投
- win11的drivers文件可以删除吗 windows11drivers文件是否可以删除的详细介绍
- 常用animation动画
- 微信小程序----相对路径图片不显示
- jsp中写隐藏td标签_28. Django 2.1.7 模板语言 变量、标签、过滤器、自定义过滤器、模板注释...
- 软件测试基础学习笔记
- UE4 虚幻引擎,LOD设置
- 电信光猫 友华PT921G 研究
- android全息投影,超低成本手机全息3D投影制作教程
- Git的安装步骤、配置(解决Git官网下载速度慢、无法下载,需要授权)
- SQL分组排序函数(组内分别排序)
- focal loss详解
- BeatMark X for mac(fcpx音乐卡点神器)