JavaScript中将Excel的Cell单元格列标字母转化为数字


发布者 ourjs  发布时间 1675836890508
关键字 JavaScript 

Excel中的列表是用字段表示的,比如: A1代表列=1,行=1

可利用JS的parseInt方法,直接转换化26进制的数,首先要将字母部分转化成俯0~9开始的26进度字符串即可。

const getRowAndCol = (cell) => {
let col26 = ''
let codeA = 'A'.charCodeAt(0)

cell.replace(/[0-9]/g, '').toUpperCase().split('').forEach(char => {
const code = char.charCodeAt(0)
const minus = code - codeA + 1
if (minus > 9) {
col26 += String.fromCharCode(code - 9)
} else {
col26 += minus.toString()
}
})

const row = parseInt(cell.replace(/[^0-9]/ig, ''))
const col = parseInt(col26, 26)

return { col, row }
}

运行结果:

getRowAndCol('A1')
{col: 1, row: 1}

getRowAndCol('AAU1')
{col: 723, row: 1}

 

 

 









  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA