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());
}
}
}