金额大写

需求:用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)、金额大写等单元格格式相关推荐

  1. 设置单元格填充方式_单元格的选择及设置单元格格式

    数据输入完毕,接下来可以设置字体.对齐方式.添加边框和底纹等方式设置单元格格式,从而美化工作表.要对单元格进行设置,首先要选中单元格. 选择单元格 选择单元格是指在工作表中确定活动单元格以便在单元格中 ...

  2. Word和Excel齐发力,将多个单元格的文本内容合并到一个单元格

    有时候在处理Excel表格的时候,我们需要将多个单元格的文本内容合并到一个单元格中,中间添加\或,之类的分隔符.比如下面这个表格,左侧是原始单元格的内容,右侧是希望合并的结果,每个单元格之间用逗号分隔 ...

  3. 解决wps工作簿从文本中复制粘贴时单元格中首位0无法显示

    解决wps工作簿从文本中复制粘贴时单元格中首位0无法显示 1.选中特定单元格-开始-类型转换-数字转换为文本类型 2.选中要复制的文本 3.粘贴单元格-右键-选择粘贴-无格式文本 4.效果 1.选中特 ...

  4. python excel 单元格格式_python设置单元格数值格式

    python xlwt如何设置单元格格式 python xlwt模块怎么设置excel单元格的属性 如图,默认是general.我想写入的时候就是Text类型.请问应该怎么做. from xlwt i ...

  5. datagridview单元格合并居中_系统地学习Excel第17课,设置单元格格式

    上一篇:系统地学习Excel第16课,使用Excel的「替换」功能 本篇内容结构如下: 本章的知识体系 Excel工作表的整体外观由各个单元格的样式构成,单元格的样式外观在Excel的可选设置中主要包 ...

  6. 使用pandas处理excel,并使用Openpyxl修改单元格格式

    使用pandas处理excel,并使用Openpyxl修改单元格格式 使用pandas处理excel,并使用Openpyxl修改单元格格式 需求 处理基本流程 查询资料过程 1.读取数据, 2.指标的 ...

  7. java导出excel表格设置行高,POI导出Excel设置单元格格式

    使用Apache的POI相关API导出Excel设置单元格格式 栗子,一下各个代码之间的变量是通用的,要是在某个代码块中找不到某个变量,则可以向上找寻 准备工作 InputStream = templ ...

  8. .net 导出html 到excel 合并单元格,C#导出Excel,并且设置Excel单元格格式,合并单元格....

    注:要添加COM组件 Microsoft Excel 11.0 Object Library  引用. 具体代码如下: using System; using System.Collections.G ...

  9. asp 导出excel数据 fso 单元格格式

    <!--#include file="../conn.asp"--> <% dim s,sql,filename,fs,myfile,x Set fs = ser ...

最新文章

  1. 树链剖分——线段树区间合并bzoj染色
  2. 第十六届智能车竞赛广东省线上比赛成绩汇总
  3. ad域 禁用账号_通过AD域控平台统一批量管理公司电脑的桌面
  4. 02 - Unit07:显示笔记下拉菜单、笔记的分享功能、笔记的删除功能
  5. TODO:从数据库中随机抽取一条记录
  6. 【SpringBoot笔记】SpringBoot整合Druid数据连接池
  7. 将您的SQL Server工作负载迁移到PostgreSQL –第1部分
  8. 相机技术公司Lytro获6000万美元D轮融资,阿里巴巴参投
  9. win11的drivers文件可以删除吗 windows11drivers文件是否可以删除的详细介绍
  10. 常用animation动画
  11. 微信小程序----相对路径图片不显示
  12. jsp中写隐藏td标签_28. Django 2.1.7 模板语言 变量、标签、过滤器、自定义过滤器、模板注释...
  13. 软件测试基础学习笔记
  14. UE4 虚幻引擎,LOD设置
  15. 电信光猫 友华PT921G 研究
  16. android全息投影,超低成本手机全息3D投影制作教程
  17. Git的安装步骤、配置(解决Git官网下载速度慢、无法下载,需要授权)
  18. SQL分组排序函数(组内分别排序)
  19. focal loss详解
  20. BeatMark X for mac(fcpx音乐卡点神器)

热门文章

  1. RT Thread之ADC电压读取
  2. 数据库(mysql)sql语句优化
  3. 【转】华为任正非2010年新年致辞:没什么能阻挡前进
  4. 图片:网络红人代言保健酒 回归还是从良?
  5. SylixOS 设备树
  6. js获取Id,标签,类的几种选择器
  7. 【药物联合预测方向】常见专业名词及翻译
  8. 【前端学习】React学习资料
  9. CentOS EOL停服--迁移​ 方案
  10. 地基基础检测远程监控系统