程序员的知识教程库

网站首页 > 教程分享 正文

Excel提取单元格格式内容(NumberFormat)

henian88 2025-05-09 18:51:11 教程分享 1 ℃ 0 评论

最近遇到一个奇葩导出表格的逻辑. 其中有个编码是根据日期+流水号来生成的.但是导出来的数据显示的是日期+流水号,但是值只有流水号.目前需要将这个编码复制出来,然后根据日期进行统计,就出现了无法批量拿到这个日期字段.

  • 分析原因:

经过分析发现编码中的日期内容是通过单元格格式设置的.每个单元格设置个展示效果.但是单元格设置只是作为数据展现使用.并不会修改数值.所以导致复制出去的数据只有流水号,不带有日期信息.

  • 解决办法:

开始的方法是让用户自行根据前面的编码维护日期.由于数据量比较大,并且每个月会产生新的数据,这种方式效率太低,并且需要耗费大量时间.(淘汰)

做个提取日期的工具表.然后启用WPS表格宏,使用WPS中的JS宏去对数据进行提取.主要是通过cell.NumberFormat属性提取出来单元格格式,然后基于此字符串再截取出来对应的日期即可.具体代码如下:

// 提取单元格格式中的日期信息
function getDate(cell){
	var v = cell.NumberFormat
	v = v.substring(0,8)
	return v
}

使用: 以上宏保存以后.在每个单元格进行调用即可.表中的getDate(选中行)就是自定义的JS宏方法.

总结:

通过WPS的JS宏可以完成大部分的数据处理.并且也不需要本地安装VBA包,因为是通过JS进行调用的.

但是目前对应汇总文件夹中的数据等其他的还需要配合Python,进行汇总数据.后续也会持续推送教程.

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表