如何计算 LUA 中 Excel/LO Calc 列的“名称”

问题描述 投票:0回答:1

我需要 1 成为“A”,26 成为“Z”,27 成为“AA”,直到(在这种情况下)81 成为“CC”

从'A'到'Z'我可以做类似的事情

string.char(64 + i)

但无法弄清楚如何为较大的列执行此操作。

excel lua libreoffice-calc
1个回答
0
投票

也许你可以将这段代码从 Basic 翻译成 Lua:

Function ColumnNumberToString(ByVal the_column As Long) As String
  Dim s$
  Do while the_column >= 0
    s$ = Chr(65 +  the_column MOD 26) + s$
    the_column =  the_column \ 26 - 1
  Loop 
  ColumnNumberToString = s$
End Function

这来自清单 6.16:可读形式的单元格地址来自一本书OpenOffice.org 的有用宏信息,作者:Andrew Pitonyak

© www.soinside.com 2019 - 2024. All rights reserved.