Отслеживание прецедентов и зависимостей в xlsx4j
Contents
[
Hide
]
Aspose.Cells - Отслеживание прецедентов и иждивенцев
Сложные финансовые таблицы, особенно разработанные совместно, могут скрывать самые неприятные ошибки. Проверка формул на точность и поиск источника ошибки могут быть затруднены, если в формуле используются предшествующие ячейки и зависимые ячейки.
- Предшествующие ячейки— это ячейки, на которые ссылается формула в другом Cell. Например, если ячейка D10 содержит формулу =B5, ячейка B5 является предшествующей ячейке D10.
- Зависимые ячейкисодержат формулы, которые ссылаются на другие ячейки. Например, если ячейка D10 содержит формулу =B5, ячейка D10 зависит от ячейки B5.
Чтобы электронную таблицу было легко читать, вы можете четко показать, какие ячейки в электронной таблице используются в формуле. Точно так же вы можете захотеть извлечь зависимые ячейки других ячеек.
Aspose.Cells позволяет отслеживать ячейки и выяснять, какие из них связаны.
Отслеживание прецедентов
Java
//Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "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());
}
}
Отслеживание иждивенцев
Java
//Получить ячейку A1
Cell c = Cells.get("A5");
//Получить все зависимые ячейки A5
Cell[]зависимые = c.getDependents(true);
для (целое я = 0; я< dependents.length; i++)
{
System.out.println("Tracing Dependents: " + dependents[i].getWorksheet().getName() +dependents[i].getName() + ":" + dependents[i].getIntValue());
}
Скачать рабочий код
Скачать пример кода
Для получения более подробной информации посетитеОтслеживание прецедентов и иждивенцев.