将公式单元格中的RC格式的公式转换为A1格式的这种

发布时间:2012/11/13 00:11 发布者:葡萄城产品团队

返回博客中心

Spread 本身没有提供RC到A1的转换功能,需要编码实现。

简单实现如下:

 
private String RCToA1(FarPoint.Win.Spread.Model.CellRange range)

    {

        Int32 startRow = range.Row + 1;

        Int32 endRow = range.Row + range.RowCount;

        String startColumn = IntToChar(range.Column);

        String endColumn = IntToChar(range.Column + range.ColumnCount - 1);



        MessageBox.Show(String.Format("{0}{1}:{2}{3}", startColumn, startRow, endColumn, endRow));

        return String.Format("{0}{1}:{2}{3}", startColumn, startRow, endColumn, endRow);

    }



    private String IntToChar(Int32 num)

    {

        String str = "";



        if (num == 0)

        {

            str = "A";

        }

        else

        {

            for (Int32 i = 0; num != 0; i++)

            {

                if (num == 1)

                {

                    str = "A" + str;

                    break;

                }

                str = (Char.ConvertFromUtf32(65 - (i != 0 ? 1 : 0) + num % 26)).ToString() + str;

                if ((num % 26 == 0) && (num / 26 == 1))

                {

                    str = "A" + str;

                    break;

                }

                num = num / 26;

            }

        }



        return str;

    }

复制代码

关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网