diff --git a/src/xlsx/xlsxdocument.cpp b/src/xlsx/xlsxdocument.cpp index 314e789e..08735b8d 100644 --- a/src/xlsx/xlsxdocument.cpp +++ b/src/xlsx/xlsxdocument.cpp @@ -815,6 +815,13 @@ bool Document::defineName(const QString &name, const QString &formula, const QSt return d->workbook->defineName(name, formula, comment, scope); } +QString Document::getFormulaByDefineName(const QString &definedName) const +{ + Q_D(const Document); + + return d->workbook->getFormulaByDefineName(definedName); +} + /*! Return the range that contains cell data. */ diff --git a/src/xlsx/xlsxdocument.h b/src/xlsx/xlsxdocument.h index 7f1113dd..7b58cace 100644 --- a/src/xlsx/xlsxdocument.h +++ b/src/xlsx/xlsxdocument.h @@ -98,6 +98,7 @@ class Q_XLSX_EXPORT Document : public QObject Cell *cellAt(int row, int col) const; bool defineName(const QString &name, const QString &formula, const QString &comment=QString(), const QString &scope=QString()); + QString getFormulaByDefineName(const QString &definedName) const; CellRange dimension() const; diff --git a/src/xlsx/xlsxworkbook.cpp b/src/xlsx/xlsxworkbook.cpp index 5890ac17..ec072d23 100755 --- a/src/xlsx/xlsxworkbook.cpp +++ b/src/xlsx/xlsxworkbook.cpp @@ -186,6 +186,18 @@ bool Workbook::defineName(const QString &name, const QString &formula, const QSt return true; } +QString Workbook::getFormulaByDefineName(const QString &definedName) const +{ + Q_D(const Workbook); + + for (int i = 0; i < d->definedNamesList.size(); i++){ + if (d->definedNamesList[i].name == definedName) + return (d->definedNamesList[i].formula); + } + + return QString(); +} + AbstractSheet *Workbook::addSheet(const QString &name, AbstractSheet::SheetType type) { Q_D(Workbook); diff --git a/src/xlsx/xlsxworkbook.h b/src/xlsx/xlsxworkbook.h index 464f0463..646478ab 100755 --- a/src/xlsx/xlsxworkbook.h +++ b/src/xlsx/xlsxworkbook.h @@ -70,6 +70,7 @@ class Q_XLSX_EXPORT Workbook : public AbstractOOXmlFile // void addChart(); bool defineName(const QString &name, const QString &formula, const QString &comment=QString(), const QString &scope=QString()); + QString getFormulaByDefineName(const QString &definedName) const; bool isDate1904() const; void setDate1904(bool date1904); bool isStringsToNumbersEnabled() const;