Прецеденты и зависимые
Введение
- Предшествующие ячейки - это ячейки, на которые ссылаются в формуле из другой ячейки. Например, если ячейка D10 содержит формулу =B5, то ячейка B5 является предшествующей для ячейки D10.
- Зависимые ячейки содержат формулы, которые ссылается на другие ячейки. Например, если ячейка D10 содержит формулу =B5, то ячейка D10 зависит от ячейки B5.
Чтобы сделать таблицу удобной для чтения, вы можете явно показать, какие ячейки в таблице используются в формулах. Точно так же, вы можете извлечь зависимые ячейки других ячеек.
Aspose.Cells позволяет отслеживать ячейки и выяснять, какие из них связаны между собой.
Отслеживание предшествующих и зависимых ячеек: Microsoft Excel
Формулы могут изменяться в зависимости от изменений, внесенных клиентом. Например, если ячейка C1 зависит от того, что в C3 и C4 содержится формула, и C1 изменяется (что приводит к перезаписи формулы), то C3 и C4 или другие ячейки должны измениться, чтобы сбалансировать таблицу согласно правилам бизнеса.
Точно так же, предположим, что C1 содержит формулу “=(B122)/(M2N32)”. Я хочу найти ячейки, от которых зависит C1, то есть предшественники B1, M2 и N32.
Вам может потребоваться определить зависимость конкретной ячейки от других ячеек. Если деловые правила закодированы в формулах, мы хотели бы узнать зависимость и выполнить некоторые правила на ее основе. Точно так же, если значение конкретной ячейки изменено, какие ячейки в листе электронной таблицы затронуты этим изменением?
Microsoft Excel позволяет пользователям отслеживать предшественников и зависимых.
- На Панели инструментов Просмотр выберите Проверка формул
- Следить за предшественниками:
- Выберите ячейку, содержащую формулу, для которой вы хотите найти предшествующие ячейки.
- Чтобы отобразить стрелку маршрута к каждой ячейке, которая непосредственно предоставляет данные для активной ячейки, щелкните Отслеживание предшественников на Панели инструментов Проверка формул.
- Отследить формулы, которые ссылается на конкретную ячейку (зависимости)
- Введите ячейку, для которой вы хотите найти зависимые ячейки.
- Чтобы отобразить стрелку маршрута к каждой ячейке, которая зависит от активной ячейки, щелкните Отслеживание зависимости на панели инструментов Проверка формул.
Отслеживание предшественников и зависимых ячеек: Aspose.Cells
Отслеживание предшественников
Aspose.Cells позволяет легко получить предшествующие ячейки. Он может не только извлекать ячейки, которые предоставляют данные для простых предшественников формул, но и находить ячейки, которые предоставляют данные для сложных предшественников формул с именованными диапазонами.
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Path of input | |
U16String dirPath(u""); | |
//Path of output | |
U16String outPath(u""); | |
//Path of input excel file | |
U16String samplePrecedentsAndDependents = dirPath + u"samplePrecedentsAndDependents.xlsx"; | |
//Load source Excel file | |
Workbook workbook(samplePrecedentsAndDependents); | |
//Calculate workbook formula | |
workbook.CalculateFormula(); | |
//Access first worksheet | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
//Access cell F6 | |
Cell cell = worksheet.GetCells().Get(u"F6"); | |
//Get precedents of the cells and print them on console | |
std::cout << "Printing Precedents of Cell: "; | |
std::cout << cell.GetName().ToUtf8() << std::endl; | |
std::cout << u"-------------------------------" << std::endl; | |
ReferredAreaCollection refac = cell.GetPrecedents(); | |
int count = refac.GetCount(); | |
for (int i = 0; i < count; i++) | |
{ | |
ReferredArea refa = refac.Get(i); | |
int row = refa.GetStartRow(); | |
int col = refa.GetStartColumn(); | |
cell = worksheet.GetCells().GetCell(row, col); | |
std::cout<<cell.GetName().ToUtf8() << std::endl; | |
} | |
Aspose::Cells::Cleanup(); |
Отслеживание зависимых
Aspose.Cells позволяет получить зависимые ячейки в электронных таблицах. Aspose.Cells может не только извлекать ячейки, содержащие данные о простой формуле, но и находить ячейки, содержащие данные для зависимых сложных формул с именованными диапазонами.
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Path of input | |
U16String dirPath(u""); | |
//Path of output | |
U16String outPath(u""); | |
//Path of input excel file | |
U16String samplePrecedentsAndDependents = dirPath + u"samplePrecedentsAndDependents.xlsx"; | |
//Load source Excel file | |
Workbook workbook(samplePrecedentsAndDependents); | |
//Calculate workbook formula | |
workbook.CalculateFormula(); | |
//Access first worksheet | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
//Access cell F6 | |
Cell cell = worksheet.GetCells().Get(u"F6"); | |
//Get dependents of the cells and print them on console | |
std::cout << "Printing Dependents of Cell: "; | |
std::cout << cell.GetName().ToUtf8() << std::endl; | |
std::cout << "-------------------------------" << std::endl; | |
//Parameter false means we do not want to search other sheets | |
Vector<Cell> depCells = cell.GetDependents(false); | |
//Get the length of the array | |
int len = depCells.GetLength(); | |
//Print the names of all the cells inside the array | |
for (int i = 0; i < len; i++) | |
{ | |
Cell dCell = depCells[i]; | |
std::cout << dCell.GetName().ToUtf8() << std::endl; | |
} | |
Aspose::Cells::Cleanup(); |