Tôi đoán điều này về cơ bản hoạt động khá giống với một số câu trả lời khác, nhưng nó có thể làm rõ hơn một chút những gì đang xảy ra với alpha tương đương với một chữ số. Nó không hoàn toàn là một hệ thống cơ sở 26 vì không có 0 trình giữ chỗ. Đó là, cột thứ 26 sẽ là 'A0' hoặc thứ gì đó thay vì Z ở căn cứ 26.Và nó không phải là cơ sở 27 bởi vì 'alpha-gits' không đại diện cho sức mạnh của 27. Man, nó thực sự làm cho bạn đánh giá cao những gì một số học mess phải có được trước khi người Babylon phát minh ra số không!
UInt32 sum = 0, gitVal = 1;
foreach (char alphagit in ColumnName.ToUpperInvariant().ToCharArray().Reverse())
{
sum += gitVal * (UInt32)('A' - alphagit + 1);
gitVal *= 26;
}
Giống như một số khác, tôi đã đảo ngược mảng ký tự để không cần biết gì về số mũ.
Nguồn
2016-08-22 20:01:05
Đối ngược lại (từ số vào cột chữ cái) xem: http://stackoverflow.com/questions/181596/how-to-convert-a-column-number-eg-127-into-an-excel-column-eg-aa – surfmuggle