访问工作表的单元格

如何访问单元格

Aspose.Cells提供了一个代表Excel文件的类,WorkbookWorkbook类包含一个WorksheetCollection,允许访问Excel文件中的每个工作表。工作表由Worksheet类表示。Worksheet类提供一个Cells集合,表示工作表中的所有单元格。

我们可以使用Cells集合来访问工作表中的单元格。Aspose.Cells提供了三种基本方法来访问工作表中的单元格:

  1. 使用单元格名称。
  2. 使用单元格的行和列索引。
  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集合来访问任何指定的单元格。

这种方法的工作方式与第一种方法相同。

// 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);