セルのインデックスの取得

可能な使用シナリオ

ワークシート上の特定のデータを列や行インデックスで操作する必要がある場合、その特定のセルの列と行のインデックスを知る必要があります。 Aspose.Cellsでは、行、列、セルの名前で行や列のインデックスを取得する機能が提供されています。 Aspose.Cellsは、目標を達成するための以下のプロパティとメソッドを提供しています。

注意: Aspose.Cells for .Net ではインデックスは 0 から始まりますが、MS Excel では行の id が 1 から始まります。

Aspose.Cells を使用してセルのインデックスを取得

この例では、次のことができます:

  1. ワークブックを作成し、いくつかのデータを追加します。
  2. 最初のワークシートで特定のセルを見つけます。
  3. セルの名前によって行インデックスと列インデックスを取得します。
  4. 列の名前によって列インデックスを取得します。
  5. 行の名前によって行インデックスを取得します。
//Instantiating an Workbook object
Workbook workbook = new Workbook();
//Obtaining the reference of the newly added worksheet
Worksheet ws = workbook.Worksheets[0];
Cells cells = ws.Cells;
//Setting the value to the cells
Cell cell = cells["A1"];
cell.PutValue("Fruit");
cell = cells["B1"];
cell.PutValue("Count");
cell = cells["C1"];
cell.PutValue("Price");
cell = cells["A2"];
cell.PutValue("Apple");
cell = cells["A3"];
cell.PutValue("Mango");
cell = cells["A4"];
cell.PutValue("Blackberry");
cell = cells["A5"];
cell.PutValue("Cherry");
cell = cells["B2"];
cell.PutValue(5);
cell = cells["B3"];
cell.PutValue(3);
cell = cells["B4"];
cell.PutValue(6);
cell = cells["B5"];
cell.PutValue(4);
cell = cells["C2"];
cell.PutValue(5);
cell = cells["C3"];
cell.PutValue(20);
cell = cells["C4"];
cell.PutValue(30);
cell = cells["C5"];
cell.PutValue(60);
Cell curr = cells.Find("Blackberry", null);
int currRow;
int currCol;
//get row and column index of current cell
CellsHelper.CellNameToIndex(curr.Name, out currRow, out currCol);
Console.WriteLine("Row Index: " + currRow + " Column Index: " + currCol);
//get column name by column index
string columnName = CellsHelper.ColumnIndexToName(currCol);
//get row name by row index
string rowName = CellsHelper.RowIndexToName(currRow);
Console.WriteLine("Column Name: " + columnName + " Row Name: " + rowName);
//get column index by column name
int columnIndex = CellsHelper.ColumnNameToIndex(columnName);
//get row index by row name
int rowIndex = CellsHelper.RowNameToIndex(rowName);
Console.WriteLine("Column Index: " + columnIndex + " Row Index: " + rowIndex);
Assert.AreEqual(columnIndex, currCol);
Assert.AreEqual(rowIndex, currRow);