Обновление значений связанных фигур с помощью C++
Contents
[
Hide
]
Иногда у вас есть связанная форма в файле Excel, связанная с какой-то ячейкой. В Microsoft Excel, изменение значения связанной ячейки также изменяет значение связанной формы. Это также работает отлично с Aspose.Cells, если вы хотите сохранить свою книгу в формате XLS или XLSX. Однако, если вы хотите сохранить свою книгу в формате PDF или HTML, тогда вам придется вызвать метод Worksheet.Shapes.UpdateSelectedValue() для обновления значения связанной формы.
Пример
Следующий скриншот показывает исходный файл Excel, использованный в приведенном ниже примере кода. В нем есть связанная картинка, связанная с ячейками A1 до E4. Мы изменим значение ячейки B4 с помощью Aspose.Cells и вызовем метод Worksheet.Shapes.UpdateSelectedValue() для обновления значения картинки и сохранения его в PDF-формате.
Вы можете скачать исходный файл Excel и итоговый PDF по указанным ссылкам.
C++ код для обновления значений связанных фигур
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create workbook from source file
Workbook workbook(srcDir + u"sampleRefreshValueOfLinkedShapes.xlsx");
// Access first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Change the value of cell B4
Cell cell = worksheet.GetCells().Get(u"B4");
cell.PutValue(100);
// Update the value of the Linked Picture which is linked to cell B4
worksheet.GetShapes().UpdateSelectedValue();
// Save the workbook in PDF format
workbook.Save(outDir + u"outputRefreshValueOfLinkedShapes.pdf", SaveFormat::Pdf);
std::cout << "Linked shapes value refreshed successfully!" << std::endl;
Aspose::Cells::Cleanup();
}