我正在尝试使用vb.net将数据写入Excel文件。所以我的函数将数字列转换为Excel字母列。
Public Function ConvertToLetter(ByRef iCol As Integer) As String
Dim Reminder_Part As Integer = iCol Mod 26
Dim Integer_Part As Integer = Int(iCol / 26)
If Integer_Part = 0 Then
ConvertToLetter = Chr(Reminder_Part + 64)
ElseIf Integer_Part > 0 And Reminder_Part <> 0 Then
ConvertToLetter = Chr(Integer_Part + 64) + Chr(Reminder_Part + 64)
ElseIf Integer_Part > 0 And Reminder_Part = 0 Then
ConvertToLetter = Chr(Integer_Part * 26 + 64)
End If
End Function
该函数对于任何其他数字都能正常工作。
例如:
- 1 => A
- 2 => B
- ...
- 26 => Z
- 27 => AA
- ...
- 51 => AY
- 52 => t(这里开始出现问题)它应该返回AZ,但它返回了t。