ワークシートのセルへのアクセス
セルへのアクセス方法
Aspose.Cells は、Excel ファイルを表す Workbook クラスを提供します。Workbook クラスには、Excel ファイル内の各ワークシートにアクセスするための WorksheetCollection が含まれています。ワークシートは Worksheet クラスで表されます。Worksheet クラスは、ワークシート内のすべてのセルを表す Cells コレクションを提供します。
Cells コレクションを使用してワークシート内のセルにアクセスできます。Aspose.Cells はワークシート内のセルにアクセスするために3つの基本的な方法を提供しています:
- セル名を使用する。
- セルの行と列のインデックスを使用します。
- Cellsコレクション内のセルインデックスを使用する
**重要:**3番目のアプローチが最も速く、1番目のアプローチが最も遅いことを記載しました。アプローチ間のパフォーマンスの違いは非常にわずかですので、使用するアプローチについてはパフォーマンスの低下を心配しないでください。
セルオブジェクトの取得方法(セル名による)
開発者はCellsクラスのWorksheetコレクションにセルの名前をインデックスとして渡すことで、任意の特定のセルにアクセスできます。
最初に空のワークシートを作成すると、Cellsコレクションの数はゼロになります。 このアプローチを使用してセルにアクセスする場合、このセルがコレクション内に存在するかどうかを確認します。 はいの場合、コレクション内のセルオブジェクトを返します。 そうでない場合は、新しいCellオブジェクトを作成し、そのオブジェクトをCellsコレクションに追加してからオブジェクトを返します。 このアプローチは、Microsoft Excelに慣れている場合にはセルへのアクセスの最も簡単な方法ですが、他のアプローチと比較して最も遅いです。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Using the Sheet 1 in Workbook | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Accessing a cell using its name | |
Cell cell = worksheet.Cells["A1"]; | |
string value = cell.Value.ToString(); | |
Console.WriteLine(value); |
セルオブジェクトの取得方法(セルの行および列インデックスによる)
開発者は、セルの行と列のインデックスをCellsクラスのWorksheetコレクションに渡すことで、任意の特定のセルにアクセスできます。
このアプローチは第1のアプローチと同じように機能します。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Using the Sheet 1 in Workbook | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Accessing a cell using its row and column | |
Cell cell = worksheet.Cells[0,0]; | |
string value = cell.Value.ToString(); | |
Console.WriteLine(value); |
セルオブジェクトの取得方法(セルのセルインデックスによる)
セルは、Cellsコレクションに対してセルの数値インデックスを渡すことでアクセスできます。
このアプローチを使用してセルにアクセスする場合、セルの数値インデックスが範囲外の場合、例外がスローされる可能性があります。 このアプローチを使用してセルオブジェクトにアクセスする場合、Cellsコレクションへの新しいセルが追加されると数値インデックスが変更される可能性があることを知っておくことは重要です。 Cellsコレクション内のセルオブジェクトは、内部的に行と列のインデックスでソートされます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Open an existing worksheet | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Using the Sheet 1 in Workbook | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Accessing a cell using its row and column. | |
Cell cell = worksheet.Cells.CheckCell(0, 0); | |
if (cell != null) | |
{ | |
string value = cell.Value.ToString(); | |
Console.WriteLine(value); | |
} |
ワークシートの最大表示範囲の取得方法
Aspose.Cellsは、ワークシートの最大表示範囲にアクセスすることができます。最大表示範囲(コンテンツを持つ最初のセルと最後のセルの範囲)は、ワークシート全体の内容をコピー、選択、または表示する必要がある場合に便利です。
ワークシートの最大表示範囲にはWorksheet.Cells.MaxDisplayRangeを使用してアクセスできます。 次のサンプルコードは、MaxDisplayRangeプロパティにアクセスする方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Path to source file | |
string filePath = dataDir + "Book1.xlsx"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(filePath); | |
// Instantiate a workbook from source file | |
Workbook wb = new Workbook(filePath); | |
// Access the first workbook | |
Worksheet worksheet = wb.Worksheets[0]; | |
// Access the Maximum Display Range | |
Range range = worksheet.Cells.MaxDisplayRange; | |
// Print the Maximum Display Range RefersTo property | |
Console.WriteLine("Maximum Display Range: " + range.RefersTo); |