Convert numbers to letters beyond the 26 character alphabet

匿名 (未验证) 提交于 2019-12-03 08:59:04

问题:

I'm creating some client side functions for a mappable spreadsheet export feature.

I'm using jQuery to manage the sort order of the columns, but each column is ordered like an Excel spreadsheet i.e. a b c d e......x y z aa ab ac ad etc etc

How can I generate a number as a letter? Should I define a fixed array of values? Or is there a dynamic way to generate this?

回答1:

I think you're looking for something like this

    function colName(n) {         var ordA = 'a'.charCodeAt(0);         var ordZ = 'z'.charCodeAt(0);         var len = ordZ - ordA + 1;                var s = "";         while(n >= 0) {             s = String.fromCharCode(n % len + ordA) + s;             n = Math.floor(n / len) - 1;         }         return s;     }  // Example:      for(n = 0; n ");


回答2:

You can use code like this, assuming that numbers contains the numbers of your columns. So after this code you'll get the string names for your columns:

var letters = ['a', 'b', 'c', ..., 'z']; var numbers = [1, 2, 3, ...]; var columnNames = []; for(var i=0;i


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!