gpt4 book ai didi

vb.net - 将数字转换为 Excel 字母列 vb.net

转载 作者:行者123 更新时间:2023-12-02 04:32:55 25 4
gpt4 key购买 nike

我正在尝试使用 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 => 是的
  • 52 => t (这是它开始出错的时候)它应该返回 AZ,但它返回了 t。

我不知道我在哪一部分犯了错误。有人可以帮助我或向我展示如何使用 vb.net 编写将数字转换为 Excel 字母列的正确函数吗?

最佳答案

这应该可以满足您的要求。

Private Function GetExcelColumnName(columnNumber As Integer) As String
Dim dividend As Integer = columnNumber
Dim columnName As String = String.Empty
Dim modulo As Integer

While dividend > 0
modulo = (dividend - 1) Mod 26
columnName = Convert.ToChar(65 + modulo).ToString() & columnName
dividend = CInt((dividend - modulo) / 26)
End While

Return columnName
End Function

关于vb.net - 将数字转换为 Excel 字母列 vb.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31974538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com