访问工作表的单元格
如何访问单元格
Aspose.Cells提供了一个代表Excel文件的类,Workbook。Workbook类包含一个WorksheetCollection,允许访问Excel文件中的每个工作表。工作表由Worksheet类表示。Worksheet类提供一个Cells集合,表示工作表中的所有单元格。
我们可以使用Cells集合来访问工作表中的单元格。Aspose.Cells提供了三种基本方法来访问工作表中的单元格:
- 使用单元格名称。
- 使用单元格的行和列索引。
- 使用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); |