lua实现excel十进制与26进制互转
来源:互联网 发布:手机版淘宝怎么买二手 编辑:程序博客网 时间:2024/04/30 15:30
代码只实现了相关逻辑,对数据的效验未实现,字母与数字互转仅支持到ZZ与702,超过部分可能有错误(效验逻辑未写)。
--数字转字母
function convertToStr(n)local r="";
local y=n%26;
local j=math.ceil(n/26);
if j==1 then--不足26
if y==0 then
y=26;
end
r=string.char(y+64);
else
if y==0 then
y=26;
end
r=string.char(j+63)..string.char(y+64);
end
return r;
end
--字母转数字
function convertToNumber(n)
local r;
local List={};
for i=1,string.len(n),1 do
table.insert(List,string.sub(n,i,i));
end
for index,value in pairs(List) do
if table.getn(List)==1 then
r=string.byte(value)-64;
else
if index==1 then
r=(string.byte(value)-64)*26;
else
r=r+(string.byte(value)-64);
end
end
end
return r;
end
(如有错误,欢迎指正,谢谢)
阅读全文