Обновление формулы Power Query с помощью C++
Contents
[
Hide
]
Сценарий использования
Могут возникнуть случаи, когда файлы источника данных были перемещены, и файл Excel не может его найти. В таких случаях API Aspose.Cells предоставляет возможность обновлять элемент формулы Power Query с помощью класса PowerQueryFormulaItem для изменения расположения исходного файла.
Обновление элемента формулы Power Query
API Aspose.Cells позволяет обновлять элементы формулы Power Query. Следующий фрагмент кода демонстрирует изменение местоположения файла источника данных в файле Excel с помощью свойства PowerQueryFormulaItem.GetValue(). Исходный и выходной файлы приложены для вашего ознакомления.
Образец кода
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
Workbook workbook(srcDir + u"SamplePowerQueryFormula.xlsx");
DataMashup mashupData = workbook.GetDataMashup();
PowerQueryFormulaCollection powerQueryFormulas = mashupData.GetPowerQueryFormulas();
for (int i = 0; i < powerQueryFormulas.GetCount(); ++i)
{
PowerQueryFormula formula = powerQueryFormulas.Get(i);
PowerQueryFormulaItemCollection powerQueryFormulaItems = formula.GetPowerQueryFormulaItems();
for (int j = 0; j < powerQueryFormulaItems.GetCount(); ++j)
{
PowerQueryFormulaItem item = powerQueryFormulaItems.Get(j);
if (item.GetName() == u"Source")
{
U16String newValue = u"Excel.Workbook(File.Contents(\"" + srcDir + u"SamplePowerQueryFormulaSource.xlsx" + u"\"), null, true)";
item.SetValue(newValue);
}
}
}
workbook.Save(outDir + u"SamplePowerQueryFormula_out.xlsx");
std::cout << "PowerQueryFormula updated successfully!" << std::endl;
Aspose::Cells::Cleanup();
}