Próbuję zapisać dane do plików Excela za pomocą vb.net. Więc to moja funkcja, która przekształca kolumnę liczb w kolumny z literą excela.Konwertowanie liczb na kolumnę z literą Excela vb.net
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
Funkcja działa poprawnie z dowolnymi innymi numerami.
Przykładowo
- 1 => A
- 2 => B
- ...
- 26 => Z
- 27 => AA
- ...
- 51 => AY
- 52 => t (I tu jest, gdy zaczyna się iść źle) Przypuszczalnie zwraca AZ, ale zwróciło t.
Nie mogłem ustalić, w której części popełniłem błąd. Czy ktoś może mi pomóc lub pokazać mi, jak zakodować odpowiednią funkcję przekształcania liczb w kolumny literowe excel przy użyciu vb.net.
Dziękuję. To działa dla mnie. – bill