package asposefeatures.datahandlingfeatures.tracingprecedentsanddependents.java; import com.aspose.cells.Cell; import com.aspose.cells.Cells; import com.aspose.cells.CellsHelper; import com.aspose.cells.ReferredArea; import com.aspose.cells.ReferredAreaCollection; import com.aspose.cells.Workbook; public class TracingPrecedentsAndDependents { public static void main(String[] args) throws Exception { String dataPath = "src/asposefeatures/datahandlingfeatures/tracingprecedentsanddependents/data/"; // Instantiating a Workbook object Workbook workbook = new Workbook(dataPath + "workbook.xls"); Cells cells = workbook.getWorksheets().get(0).getCells(); Cell cell = cells.get("A12"); // Tracing precedents of the cell A12. // The return array contains ranges and cells. ReferredAreaCollection ret = cell.getPrecedents(); // Printing all the precedent cells' name. if (ret != null) { for (int m = 0; m < ret.getCount(); m++) { ReferredArea area = ret.get(m); StringBuilder stringBuilder = new StringBuilder(); if (area.isExternalLink()) { stringBuilder.append("["); stringBuilder.append(area.getExternalFileName()); stringBuilder.append("]"); } stringBuilder.append(area.getSheetName()); stringBuilder.append("!"); stringBuilder.append(CellsHelper.cellIndexToName(area.getStartRow(), area.getStartColumn())); if (area.isArea()) { stringBuilder.append(":"); stringBuilder.append(CellsHelper.cellIndexToName(area.getEndRow(), area.getEndColumn())); } System.out.println("Tracing Precedents: " + stringBuilder.toString()); } } // Get the A1 cell Cell c = cells.get("A5"); // Get the all the Dependents of A5 cell Cell[] dependents = c.getDependents(true); for (int i = 0; i < dependents.length; i++) { System.out.println("Tracing Dependents: " + dependents[i].getWorksheet().getName() + dependents[i].getName() + ":" + dependents[i].getIntValue()); } } }