Propagation automatique des formules dans un tableau ou un objet liste lors de la saisie de nouvelles lignes avec C++
Scénarios d’utilisation possibles
Parfois, vous souhaitez qu’une formule dans votre tableau ou objet liste se propage automatiquement dans de nouvelles lignes lors de la saisie de nouvelles données. C’est le comportement par défaut de Microsoft Excel. Pour obtenir la même fonctionnalité avec Aspose.Cells, utilisez la méthode ListColumn::GetFormula
Propager la formule dans un tableau ou un objet de liste automatiquement lors de la saisie de données dans de nouvelles lignes
Le code d’exemple suivant crée un tableau ou objet de liste de manière à ce que la formule dans la colonne B se propage automatiquement aux nouvelles lignes lorsque vous saisissez de nouvelles données. Veuillez vérifier le fichier Excel généré avec ce code. Si vous entrez un quelconque chiffre dans la cellule A3, vous verrez que la formule dans la cellule B2 se propage automatiquement à la cellule B3.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create workbook object
Workbook book;
// Access first worksheet
Worksheet sheet = book.GetWorksheets().Get(0);
// Add column headings in cell A1 and B1
sheet.GetCells().Get(0, 0).PutValue(u"Column A");
sheet.GetCells().Get(0, 1).PutValue(u"Column B");
// Add list object, set its name and style
ListObject listObject = sheet.GetListObjects().Get(sheet.GetListObjects().Add(0, 0, 1, sheet.GetCells().GetMaxColumn(), true));
listObject.SetTableStyleType(TableStyleType::TableStyleMedium2);
listObject.SetDisplayName(u"Table");
// Set the formula of second column so that it propagates to new rows automatically while entering data
listObject.GetListColumns().Get(1).SetFormula(u"=[Column A] + 1");
// Save the workbook in xlsx format
book.Save(outDir + u"output_out.xlsx");
std::cout << "Workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}