第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲取創(chuàng)建的對象“單元格”的范圍?

如何獲取創(chuàng)建的對象“單元格”的范圍?

C#
森欄 2023-07-22 18:15:29
我正在 Visual Studio 中設(shè)置一個 26x26 電子表格程序。我創(chuàng)建了一個cell繼承 textbox 但還包含一個 property 的對象cellID?,F(xiàn)在我創(chuàng)建了一個selectedRange文本框,允許用戶輸入將執(zhí)行公式(例如:Sum)的范圍(例如:“A1:A9”)。我想獲取輸入的范圍并找到一種算術(shù)上使用它的方法。我想也許我可以使用Split()帶有 a':'和','分隔符的方法,但我不知道如何構(gòu)建它以便在我的代碼中使用。程序截圖:private void btn_sum_Click(object sender, EventArgs e){    int rows = 0;    int columns = 0;     string[] cells = txt_selectedRange.Text.Split(':',',');}
查看完整描述

1 回答

?
胡說叔叔

TA貢獻1804條經(jīng)驗 獲得超8個贊

在Excel中,您可以擁有像這樣的復(fù)雜范圍字符串:“D6:F11,I6:I9,J14,N10,P5:Q9”,因此首先您需要用“,”分割,然后對于每個包含“:”的子字符串,您需要獲取單元格的子范圍。


Hear 是一種獲取范圍字符串、解析它并返回單元格字符串列表的方法:


private static List<string> GetCellStrings(string cellRange)

{

    // Cell string to return from this method.

    List<string> cells = new List<string>();


    // Remove whitespace.

    cellRange = cellRange.Replace(" ", "").Trim();


    // First split by ',' to get subranges

    string[] subranges = cellRange.Split(',');


    // Iterate over subranges

    for (int i = 0; i < subranges.Length; i++)

    {

        string range = subranges[i];


        // If the subrange contains a ':', calculate all range cells

        if (range.Contains(':'))

        {

            string[] rangeBounds = range.Split(':');

            char lowerBoundLetter = rangeBounds[0][0];

            char upperBoundLetter = rangeBounds[1][0];

            int lowerBoundNumber = int.Parse(rangeBounds[0].Substring(1));

            int upperBoundNumber = int.Parse(rangeBounds[1].Substring(1));


            for (char columnLetter = lowerBoundLetter; columnLetter <= upperBoundLetter; columnLetter++)

            {

                for (int rowNumber = lowerBoundNumber; rowNumber <= upperBoundNumber; rowNumber++)

                {

                    string cell = columnLetter.ToString() + rowNumber.ToString();

                    cells.Add(cell);

                }

            }

        }

        // If the subrange does not contain a ':', it's a single cell, add it to the list of cells

        else

        {

            cells.Add(range);

        }

    }


    return cells;

}

注意:此代碼僅適用于 26 列 - A 到 Z。


例子:


string cellRange = "D6:F11,I6:I9,J14,N10,P5:Q9";


List<string> cells = GetCellStrings(cellRange);


for (int i = 0; i < cells.Count; i++)

{

    Console.WriteLine(cells[i]);

}

輸出:


D6

D7

D8

D9

D10

D11

E6

E7

E8

E9

E10

E11

F6

F7

F8

F9

F10

F11

I6

I7

I8

I9

J14

N10

P5

P6

P7

P8

P9

Q5

Q6

Q7

Q8

Q9


查看完整回答
反對 回復(fù) 2023-07-22
  • 1 回答
  • 0 關(guān)注
  • 154 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號