EXCEL的列名与列序号 之前的关系如下
| A | 1 |
| B | 2 |
| C | 3 |
| D | 4 |
| E | 5 |
| F | 6 |
| G | 7 |
| H | 8 |
| I | 9 |
| J | 10 |
| K | 11 |
| L | 12 |
| M | 13 |
| N | 14 |
| O | 15 |
| P | 16 |
| Q | 17 |
| R | 18 |
| S | 19 |
| T | 20 |
| U | 21 |
| V | 22 |
| W | 23 |
| X | 24 |
| Y | 25 |
| Z | 26 |
| AA | 27 |
| AB | 28 |
- ///
- /// 根据给的EXCEL列序号,得出列名字母
- ///
- /// 序号
- ///
列名 - public string ColNum2Name(int iColNum)
- {
- string result = "";
-
- if (iColNum < 1 || iColNum > 16384)
- {
- throw new Exception("列号超出范围");
- }
-
- while (iColNum > 0)
- {
- iColNum--; //列号是从1开始的,字母从0开始的
- result = (char)('A' + iColNum % 26) + result;
- iColNum /= 26;
- }
- return result;
- }
-
- ///
- /// 根据给出的EXCEL列名,转换成列序号
- ///
- /// 列名
- ///
序号 - public int ColName2Num(string sColName)
- {
- int result = 0;
- for (int i = 0; i < sColName.Length; i++)
- {
- result *= 26;
- result += sColName[i] - 'A' + 1;
- }
- return result;
- }