数值转换为Excel列标的算法
来源:优易学  2010-1-14 19:22:56   【优易学:中国教育考试门户网】   资料下载   IT书店
  引:本人曾在操作Excel时回避Range的使用,如今却到非常地步,于是道网上搜索看看谁能提供一个“万能算法”,无奈没人提供,只能自己研究写一个了。因Excel列标的特殊性,使我耗费了不少时间精力。本着共享互利的原则,共享此算法。
  本算法基于C++ Builder语法和类实现,功能描述如下:在进行OLE的Excel操作中,有时候需要使用Range的选择,此时需要提供坐标,坐标的列是由字符组成的,如:1-A,2-B,...,88-CJ,....,本算法即为将数字转换成对应的字符。
  算法:
  view plaincopy to clipboardprint?
  AnsiString GetExcelRangeCode(int row, int col)
  {
  AnsiString asExcelCode = "" ;
  while ( col ) {
  asExcelCode = (AnsiString)(char)('A'+(col-1)%26) + asExcelCode ;
  col = (col-1)/26 ;
  }
  return asExcelCode ;//+IntToStr(row) ;
  }
  AnsiString GetExcelRangeCode(int row, int col)
  {
  AnsiString asExcelCode = "" ;
  while ( col ) {
  asExcelCode = (AnsiString)(char)('A'+(col-1)%26) + asExcelCode ;
  col = (col-1)/26 ;
  }
  return asExcelCode ;//+IntToStr(row) ;
  }
  /*该算法我尚未经过全面测试,目前仅确定1~208的对应关系正常*/

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训