在从dataTable导出数据到xls时,如果希望对其中指定的某几列统计求和,则需要知道单元格的起始范围。
下面这个算法,可以帮我们算出 第5列的英文就是E,第27列的英文就是AA
/// <summary>
/// 列从1开始,转换得到excel列中的英文序号
/// 调用示例:string s = TransferExcelColumnIndex(5);//得到E
/// </summary>
/// <param name="iColIndex"></param>
/// <returns></returns>
public static string TransferExcelColumnIndex(int iColIndex)
{
string sResult = "";
int iHead = iColIndex / 26;
int iLeftOver = iColIndex % 26;
if (iHead > 0)
{
foreach (char c in iHead.ToString())
{
if(c=='1' && iLeftOver==0)
{
sResult += 'Z';
}
else
{
sResult += (char)(65 + Convert.ToInt32(c.ToString()) - 1);
}
}
}
if (iLeftOver > 0)
{
sResult += (char)(65 + iLeftOver - 1);
}
return sResult;
}