範囲の管理
紹介
Excelでは、マウスボックス選択で複数のセルを選択することができ、選択されたセルのセットを「範囲」と呼びます。
たとえば、Excelのセル"A1"で左ボタンをクリックしてからセル"C4"までドラッグすることができます。選択した長方形の領域は、Aspose.Cellsを使用してオブジェクトとして簡単に作成することもできます。
範囲を作成し、値を設定し、スタイルを設定し、“範囲"オブジェクトにさらなる操作を行う方法
Aspose.Cellsを使用した範囲の管理
Aspose.Cellsは、Microsoft Excelファイルを表すクラス、Workbookを提供しています。Workbookクラスには、Excelファイル内の各ワークシートにアクセスできるWorksheetsコレクションが含まれています。ワークシートはWorksheetクラスで表されます。WorksheetクラスにはCellsコレクションが提供されています。
範囲の作成
A1:C4にまたがる長方形領域を作成する場合は、次のコードを使用できます。
//Create a Workbook | |
Workbook workbook = new Workbook(); | |
//Get Cells | |
Cells cells = workbook.getWorksheets().get(0).getCells(); | |
//Create Range | |
Range range = cells.createRange("A1:C4"); | |
範囲のセルに値を入力する
A1:C4にまたがるセルの範囲があるとします。行列は4*3=12セルを作ります。それぞれの範囲セルは順に配置されます: Range[0,0]、Range[0,1]、Range[0,2]、Range[1,0]、Range[1,1]、Range[1,2]、Range[2,0]、Range[2,1]、Range[2,2]、Range[3,0]、Range[3,1]、Range[3,2]。
次の例は、範囲のセルに値を入力する方法を示しています。
//Create a Workbook | |
Workbook workbook = new Workbook(); | |
//Get Cells | |
Cells cells = workbook.getWorksheets().get(0).getCells(); | |
//Create Range | |
Range range = cells.createRange("A1:C4"); | |
//Put value | |
range.get(0, 0).putValue("A1"); | |
range.get(0, 1).putValue("B1"); | |
range.get(0, 2).putValue("C1"); | |
range.get(3, 0).putValue("A4"); | |
range.get(3, 1).putValue("B4"); | |
range.get(3, 2).putValue("C4"); | |
//Save the Workbook | |
workbook.save("RangeValueTest.xlsx"); | |
範囲のセルのスタイルを設定する
次の例は、セルの範囲のスタイルを設定する方法を示しています。
//Create a Workbook | |
Workbook workbook = new Workbook(); | |
//Get Cells | |
Cells cells = workbook.getWorksheets().get(0).getCells(); | |
//Create Range | |
Range range = cells.createRange("A1:C4"); | |
//Put value | |
range.get(0, 0).putValue("A1"); | |
range.get(3, 2).putValue("C4"); | |
//Set Style | |
Style style00 = workbook.createStyle(); | |
style00.setPattern(BackgroundType.SOLID); | |
style00.setForegroundColor(Color.getRed()); | |
range.get(0, 0).setStyle(style00); | |
Style style32 = workbook.createStyle(); | |
style32.setPattern(BackgroundType.HORIZONTAL_STRIPE); | |
style32.setForegroundColor(Color.getGreen()); | |
style32.setBackgroundColor(Color.getRed()); | |
range.get(3, 2).setStyle(style32); | |
//Save the Workbook | |
workbook.save("RangeStyleTest.xlsx"); | |
範囲のCurrentRegionを取得する
CurrentRegionは、現在の範囲を表すRangeオブジェクトを返すプロパティです。
現在の領域は、空白の行と列の組み合わせによって囲まれた範囲です。読み取り専用です。
Excelでは、以下の方法でCurrentRegionエリアを取得できます:
- マウスのボックスでエリア(範囲1)を選択します。
- “ホーム - 編集 - 検索と選択 - 特殊に移動 - CurrentRegion"をクリックするか、“Ctrl+Shift+*“を使用します。するとExcelが自動的にエリア(範囲2)を選択してくれます。これで、範囲2は範囲1のCurrentRegionになります。
Aspose.Cellsを使用すると、「Range.CurrentRegion」プロパティを使用して同じ機能を実行できます。
以下のテストファイルをダウンロードし、Excelで開き、マウスのボックスを使用して"A1:D7"のエリアを選択し、次に"Ctrl+Shift+*“をクリックすると、“A1:C3"のエリアが選択されます。
次に、以下の例を実行して、Aspose.Cellsでの動作を確認してください。
//Create a Workbook | |
Workbook workbook = new Workbook("current_region.xlsx"); | |
//Get Cells | |
Cells cells = workbook.getWorksheets().get(0).getCells(); | |
//Create Range | |
Range src = cells.createRange("A1:D7"); | |
//Get CurrentRegion | |
Range A1C3 = src.getCurrentRegion(); |
高度なトピック
- ExcelファイルのAutoFill範囲
- 行や範囲をコピーする際に、チャートのデータソースを宛先ワークシートに変更する
- Excelの範囲をコピー
- Excelの範囲のデータをコピーする
- スタイルで範囲データをコピー
- ソースの範囲の行の高さのみをコピー
- ソース範囲の行の高さを宛先範囲にコピーします。
- ユニオン範囲の作成
- 範囲の切り取りと貼り付け
- 範囲を削除する
- ワークシート内の結合セルを検出する
- 範囲のアドレス、セル数、オフセット、列全体、行全体を取得する
- 外部リンク付きの範囲を取得する
- 非連続範囲の実装
- 範囲を挿入する
- セルの範囲を結合または結合解除する
- ワークシート内のセルの範囲を移動する
- 名前付き範囲
- 範囲内のデータを検索および置換する