取出列号和行号,将(列号-1)转换成26进制,每位加'A',与行号结合即可。例如R5C255,列号是255,转换成26进制即(9)(20),'A'+9='I','A'+20'='U',
所以R5C255转换为IU5
所以R5C255转换为IU5
程序代码:
// Excel表格中的RC地址转换.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
#define N 100
void InputRC(int *a,int *b,int n);
int _tmain(int argc, _TCHAR* argv[])
{
int i,n,a[N],b[N];
printf("请输入行数n(n<=100):\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
InputRC(a,b,i);
}
printf("\n");
printf("转换后的地址:\n");
for(i=0;i<n;i++)
{
if(b[i]<=26)
{
printf("%c",64+b[i]);
}
else
{
printf("%c",b[i]/26+64);
printf("%c",b[i]%26+64);
}
printf("%d",a[i]);
printf("\n");
}
return 0;
}
void InputRC(int *a,int *b,int n)
{
int i,j;
char r,c,e;
scanf("%c%c%d%c%d",&e,&r,&i,&c,&j);
a[n]=i;
b[n]=j;
}