以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数字转字母  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39611)

--  作者:eway168
--  发布时间:2013/8/28 11:59:00
--  [求助]数字转字母
求一个函数,可以把数字转成字母,在修改EXCEL报表的代码中使用的。
--  作者:Bin
--  发布时间:2013/8/28 12:00:00
--  
至少你要告诉别人怎么个转换法.
--  作者:eway168
--  发布时间:2013/8/28 12:01:00
--  
1转成A,27转成AA,之类
--  作者:Bin
--  发布时间:2013/8/28 12:02:00
--  
27怎么得出来的AA呢?
--  作者:eway168
--  发布时间:2013/8/28 12:05:00
--  
26个字母,这个字母呢,就是EXCEL的单元格地址:A1,AA20之类的表达方式
--  作者:Bin
--  发布时间:2013/8/28 12:06:00
--  
那28呢? AB? 29呢? AC?  55呢? BA?
--  作者:eway168
--  发布时间:2013/8/28 12:10:00
--  
是的
--  作者:eway168
--  发布时间:2013/8/28 12:18:00
--  
ascii码在狐表怎样使用?
--  作者:eway168
--  发布时间:2013/8/28 12:33:00
--  
Dim sz As Integer=29   ’暂时控制在52以内
Dim zm As String
If sz>52
  Return Nothing
End If
If sz<27
  zm=chr(64+sz)
Else
  zm=chr(65) & chr(64+sz-26)
End If


--  作者:eway168
--  发布时间:2013/8/28 12:40:00
--  
函数:
Dim sz As Integer=args(0)
Dim zm As String
If sz>52
  Return Nothing
End If
If sz<27
  zm=chr(64+sz)
Else
  zm=chr(65) & chr(64+sz-26)
End If
Return zm

调用:
Dim sz123 As Integer=29
Dim zm123 As String
zm=Functions.Execute("sz2zm",sz123)
output.show(zm123)