不知道大家有没有遇到过求一串数据各数字和的情况,这两天就有遇到小伙伴来咨询这个问题,数据库导入的固定长度数据,需要把数据中的各个数字相加之和打印出来,要实现求数据各数据的总合,用中琅条码软件中的脚本编程就可以实现(其实这个功能在Excel也能实现),不过今天我们就主要聊一下中琅条码软件是如何利用脚本编程求固定长度数据和,如下图保存在TXT文本中长度为5的数据。
在中琅条码打印软件中新建一个空白标签,打开数据库设置,添加“TXT文本数据源”,弹出TXT文本数据源管理窗口,带你“浏览”添加TXT文件,点击“测试连接”和“添加”完成数据库导入TXT文本中的数据。
利用条码软件左侧工具栏中的“A”图标在标签上添加两个普通文本都导入数据库数据(其中一个不处理作为对比),双击普通文本打开“图形属性-数据源”,点击数据对象下面的修改按钮,弹出数据对象管理窗口,数据对象类型修改为“数据库导入”,导入TXT文本数据。
打开下面这个文本的“图形属性-数据源”,在右侧添加一个“脚本编程”的处理方法,输入以下代码:
//vars:thisObj,dataObj
var a = dataObj.getOriginalDataValue() + "";
var b =strReturn.split(""); //split()函数,把原数据分裂成b[0]、b[1]、b[2]、b[3]、b[4]五部分,以此类推数据长度有多少就能分裂成多少
var c = Number(b[0])+Number(b[1])+Number(b[2])+Number(b[3])+Number(b[4]); //求和,Number()函数把个对象数值转换成数字
strReturn = c.toFixed(0); //由于输出数据含小数点,所以取整输出
利用split()函数,把原数据分成多个部分,比如b[0]代表的是第一个数据,b[1]代表第二个数据,b[2]代表第三个数据,b[3]代表第四个数据,b[4]代表第五个数据,利用Number()函数把各对象转换成数字再相加就得出各项数字之和了。打印预览也可以批量求和的效果。
综上所述就是利用中琅条码软件脚本编程求固定长度数据的和方法,如果输出的数据不是数字之和,而是“NaN”字符,这就说明输入的数据长度不对,或者数据不是纯数字(含有其他的字母,字符等),检查原数据。